Open Journal Systems  3.3.0
NumberHelperTest.php
1 <?php
2 /*
3  * citeproc-php
4  *
5  * @link http://github.com/seboettg/citeproc-php for the source repository
6  * @copyright Copyright (c) 2016 Sebastian Böttger.
7  * @license https://opensource.org/licenses/MIT
8  */
9 
10 namespace Seboettg\CiteProc\Util;
11 use PHPUnit\Framework\TestCase;
12 
13 class NumberHelperTest extends TestCase
14 {
15 
16  public function testRoman2Dec()
17  {
18  $test = [
19  "I" => 1,
20  "iv" => 4,
21  "viii" => 8,
22  "XVII" => 17,
23  "XC" => 90,
24  "CI" => 101,
25  "D" => 500,
26  "dviii" => 508,
27  "CM" => 900,
28  "XM" => 990,
29  "M" => 1000,
30  "MMXVI" => 2016
31  ];
32 
33  foreach ($test as $roman => $dec) {
34  $this->assertEquals($dec, NumberHelper::roman2Dec($roman));
35  }
36  }
37 
38  public function testIsRomanNumber()
39  {
40  $this->assertTrue(NumberHelper::isRomanNumber("xiv"));
41  $this->assertTrue(NumberHelper::isRomanNumber("XIV"));
42  $this->assertFalse(NumberHelper::isRomanNumber("ash"));
43  $this->assertFalse(NumberHelper::isRomanNumber("ASH"));
44  $this->assertFalse(NumberHelper::isRomanNumber("asd"));
45  $this->assertFalse(NumberHelper::isRomanNumber("MAD"));
46  }
47 
48  public function testEvaluateStringPluralism()
49  {
50  $this->assertEquals("single", NumberHelper::evaluateStringPluralism("999"));
51  $this->assertEquals("single", NumberHelper::evaluateStringPluralism("MMXVI"));
52  $this->assertEquals("multiple", NumberHelper::evaluateStringPluralism("3-9"));
53  $this->assertEquals("multiple", NumberHelper::evaluateStringPluralism("iii-ix"));
54  $this->assertEquals("multiple", NumberHelper::evaluateStringPluralism("iii & ix"));
55  //$this->assertEquals("multiple", Number::evaluateStringPluralism("S123–S125"));
56  }
57 
58 }
Seboettg\CiteProc\Util\NumberHelperTest\testEvaluateStringPluralism
testEvaluateStringPluralism()
Definition: NumberHelperTest.php:48
Seboettg\CiteProc\Util\NumberHelperTest\testRoman2Dec
testRoman2Dec()
Definition: NumberHelperTest.php:16
Seboettg\CiteProc\Util\NumberHelper\evaluateStringPluralism
static evaluateStringPluralism($str)
Definition: NumberHelper.php:134
Seboettg\CiteProc\Util\NumberHelper\isRomanNumber
static isRomanNumber($str)
Definition: NumberHelper.php:118
Seboettg\CiteProc\Util\NumberHelper\roman2Dec
static roman2Dec($romanNumber)
Definition: NumberHelper.php:90
Seboettg\CiteProc\Util
Definition: CiteProcHelper.php:10
Seboettg\CiteProc\Util\NumberHelperTest\testIsRomanNumber
testIsRomanNumber()
Definition: NumberHelperTest.php:38
Seboettg\CiteProc\Util\NumberHelperTest
Definition: NumberHelperTest.php:13