Skip to content
This repository was archived by the owner on Dec 27, 2023. It is now read-only.

Commit fe11b7a

Browse files
committed
Condensed many tests
1 parent 59fb468 commit fe11b7a

10 files changed

+208
-269
lines changed

tests/Decimal/DecimalAddTest.php

Lines changed: 39 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,50 @@ public function testZeroAdd()
1313
$this->assertTrue($n->add($z)->equals($n));
1414
}
1515

16-
public function testInfiniteAdd()
16+
public function testFiniteInfiniteAdd()
1717
{
18-
$one = Decimal::fromInteger(1);
1918
$pInf = Decimal::getPositiveInfinite();
2019
$nInf = Decimal::getNegativeInfinite();
2120

22-
$this->assertTrue($one->add($pInf)->equals($pInf));
23-
$this->assertTrue($pInf->add($one)->equals($pInf));
21+
$pTen = Decimal::fromInteger(10);
22+
$nTen = Decimal::fromInteger(-10);
2423

25-
$this->assertTrue($one->add($nInf)->equals($nInf));
26-
$this->assertTrue($nInf->add($one)->equals($nInf));
24+
$this->assertTrue($pInf->add($pTen)->equals($pInf));
25+
$this->assertTrue($nInf->add($pTen)->equals($nInf));
26+
27+
$this->assertTrue($pInf->add($nTen)->equals($pInf));
28+
$this->assertTrue($nInf->add($nTen)->equals($nInf));
29+
30+
$this->assertTrue($pTen->add($pInf)->equals($pInf));
31+
$this->assertTrue($pTen->add($nInf)->equals($nInf));
32+
33+
$this->assertTrue($nTen->add($pInf)->equals($pInf));
34+
$this->assertTrue($nTen->add($nInf)->equals($nInf));
35+
}
36+
37+
public function testInfiniteInfiniteAdd()
38+
{
39+
$pInf = Decimal::getPositiveInfinite();
40+
$nInf = Decimal::getNegativeInfinite();
41+
42+
$this->assertTrue($pInf->add($pInf)->equals($pInf));
43+
$this->assertTrue($nInf->add($nInf)->equals($nInf));
44+
45+
$catched = false;
46+
try {
47+
$pInf->add($nInf);
48+
} catch (\DomainException $e) {
49+
$catched = true;
50+
}
51+
$this->assertTrue($catched);
52+
53+
$catched = false;
54+
try {
55+
$nInf->add($pInf);
56+
} catch (\DomainException $e) {
57+
$catched = true;
58+
}
59+
$this->assertTrue($catched);
2760
}
2861

2962
public function testPositivePositiveDecimalAdd()

tests/Decimal/DecimalCompTest.php

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public function testBasicCases()
1919
$this->assertTrue($ten->comp($one) === 1);
2020
}
2121

22-
public function testInfiniteComp()
22+
public function testFiniteInfiniteComp()
2323
{
2424
$ten = Decimal::fromInteger(10);
2525
$pInf = Decimal::getPositiveInfinite();
@@ -31,4 +31,16 @@ public function testInfiniteComp()
3131
$this->assertTrue($pInf->comp($ten) === 1);
3232
$this->assertTrue($nInf->comp($ten) === -1);
3333
}
34+
35+
public function testInfiniteInfiniteComp()
36+
{
37+
$pInf = Decimal::getPositiveInfinite();
38+
$nInf = Decimal::getNegativeInfinite();
39+
40+
$this->assertTrue($pInf->comp($pInf) === 0);
41+
$this->assertTrue($nInf->comp($nInf) === 0);
42+
43+
$this->assertTrue($pInf->comp($nInf) === 1);
44+
$this->assertTrue($nInf->comp($pInf) === -1);
45+
}
3446
}

tests/Decimal/DecimalDivTest.php

Lines changed: 77 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
class DecimalDivTest extends PHPUnit_Framework_TestCase
66
{
7-
public function testZeroDiv()
7+
public function testZeroFiniteDiv()
88
{
99
$one = Decimal::fromInteger(1);
1010
$zero = Decimal::fromInteger(0);
@@ -20,6 +20,29 @@ public function testZeroDiv()
2020
$this->assertTrue($zero->div($one)->equals($zero));
2121
}
2222

23+
public function testZeroInfiniteDiv()
24+
{
25+
$pInf = Decimal::getPositiveInfinite();
26+
$nInf = Decimal::getNegativeInfinite();
27+
$zero = Decimal::fromInteger(0);
28+
29+
$catched = false;
30+
try {
31+
$pInf->div($zero);
32+
} catch (\DomainException $e) {
33+
$catched = true;
34+
}
35+
$this->assertTrue($catched);
36+
37+
$catched = false;
38+
try {
39+
$nInf->div($zero);
40+
} catch (\DomainException $e) {
41+
$catched = true;
42+
}
43+
$this->assertTrue($catched);
44+
}
45+
2346
public function testOneDiv()
2447
{
2548
$one = Decimal::fromInteger(1);
@@ -28,14 +51,63 @@ public function testOneDiv()
2851
$this->assertTrue($two->div($one)->equals($two));
2952
}
3053

31-
public function testInfiniteDiv()
54+
public function testFiniteInfiniteDiv()
55+
{
56+
$pTen = Decimal::fromInteger(10);
57+
$nTen = Decimal::fromInteger(-10);
58+
59+
$pInf = Decimal::getPositiveInfinite();
60+
$nInf = Decimal::getNegativeInfinite();
61+
62+
$this->assertTrue($pInf->div($pTen)->equals($pInf));
63+
$this->assertTrue($pInf->div($nTen)->equals($nInf));
64+
65+
$this->assertTrue($nInf->div($pTen)->equals($nInf));
66+
$this->assertTrue($nInf->div($nTen)->equals($pInf));
67+
68+
$this->assertTrue($pTen->div($pInf)->isZero());
69+
$this->assertTrue($nTen->div($pInf)->isZero());
70+
71+
$this->assertTrue($pTen->div($nInf)->isZero());
72+
$this->assertTrue($nTen->div($nInf)->isZero());
73+
}
74+
75+
public function testInfiniteInfiniteDiv()
3276
{
33-
$one = Decimal::fromInteger(1);
3477
$pInf = Decimal::getPositiveInfinite();
3578
$nInf = Decimal::getNegativeInfinite();
3679

37-
$this->assertTrue($one->div($pInf)->isZero());
38-
$this->assertTrue($one->div($nInf)->isZero());
80+
$catched = false;
81+
try {
82+
$pInf->div($pInf);
83+
} catch (\DomainException $e) {
84+
$catched = true;
85+
}
86+
$this->assertTrue($catched);
87+
88+
$catched = false;
89+
try {
90+
$pInf->div($nInf);
91+
} catch (\DomainException $e) {
92+
$catched = true;
93+
}
94+
$this->assertTrue($catched);
95+
96+
$catched = false;
97+
try {
98+
$nInf->div($pInf);
99+
} catch (\DomainException $e) {
100+
$catched = true;
101+
}
102+
$this->assertTrue($catched);
103+
104+
$catched = false;
105+
try {
106+
$nInf->div($nInf);
107+
} catch (\DomainException $e) {
108+
$catched = true;
109+
}
110+
$this->assertTrue($catched);
39111
}
40112

41113
public function testBasicDiv()

tests/Decimal/DecimalMulTest.php

Lines changed: 40 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
class DecimalMulTest extends PHPUnit_Framework_TestCase
66
{
7-
public function testZeroMul()
7+
public function testZeroFiniteMul()
88
{
99
$z = Decimal::fromInteger(0);
1010
$n = Decimal::fromInteger(5);
@@ -19,6 +19,45 @@ public function testZeroMul()
1919
$this->assertTrue($r2->isZero());
2020
}
2121

22+
public function testZeroInfiniteMul()
23+
{
24+
$pInf = Decimal::getPositiveInfinite();
25+
$nInf = Decimal::getNegativeInfinite();
26+
$zero = Decimal::fromInteger(0);
27+
28+
$catched = false;
29+
try {
30+
$pInf->mul($zero);
31+
} catch (\DomainException $e) {
32+
$catched = true;
33+
}
34+
$this->assertTrue($catched);
35+
36+
$catched = false;
37+
try {
38+
$nInf->mul($zero);
39+
} catch (\DomainException $e) {
40+
$catched = true;
41+
}
42+
$this->assertTrue($catched);
43+
44+
$catched = false;
45+
try {
46+
$zero->mul($pInf);
47+
} catch (\DomainException $e) {
48+
$catched = true;
49+
}
50+
$this->assertTrue($catched);
51+
52+
$catched = false;
53+
try {
54+
$zero->mul($nInf);
55+
} catch (\DomainException $e) {
56+
$catched = true;
57+
}
58+
$this->assertTrue($catched);
59+
}
60+
2261
public function testSignsMul()
2362
{
2463
$n1 = Decimal::fromInteger(1);

tests/Decimal/DecimalSubTest.php

Lines changed: 39 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,16 +27,49 @@ public function testBasicCase()
2727
$this->assertTrue($one->sub($one)->isZero());
2828
}
2929

30-
public function testInfiniteSub()
30+
public function testFiniteInfiniteSub()
31+
{
32+
$pInf = Decimal::getPositiveInfinite();
33+
$nInf = Decimal::getNegativeInfinite();
34+
35+
$pTen = Decimal::fromInteger(10);
36+
$nTen = Decimal::fromInteger(-10);
37+
38+
$this->assertTrue($pInf->sub($pTen)->equals($pInf));
39+
$this->assertTrue($nInf->sub($pTen)->equals($nInf));
40+
41+
$this->assertTrue($pInf->sub($nTen)->equals($pInf));
42+
$this->assertTrue($nInf->sub($nTen)->equals($nInf));
43+
44+
$this->assertTrue($pTen->sub($pInf)->equals($nInf));
45+
$this->assertTrue($pTen->sub($nInf)->equals($pInf));
46+
47+
$this->assertTrue($nTen->sub($pInf)->equals($nInf));
48+
$this->assertTrue($nTen->sub($nInf)->equals($pInf));
49+
}
50+
51+
public function testInfiniteInfiniteSub()
3152
{
32-
$one = Decimal::fromInteger(1);
3353
$pInf = Decimal::getPositiveInfinite();
3454
$nInf = Decimal::getNegativeInfinite();
3555

36-
$this->assertTrue($one->sub($pInf)->equals($nInf));
37-
$this->assertTrue($one->sub($nInf)->equals($pInf));
56+
$catched = false;
57+
try {
58+
$pInf->sub($pInf);
59+
} catch (\DomainException $e) {
60+
$catched = true;
61+
}
62+
$this->assertTrue($catched);
63+
64+
$catched = false;
65+
try {
66+
$nInf->sub($nInf);
67+
} catch (\DomainException $e) {
68+
$catched = true;
69+
}
70+
$this->assertTrue($catched);
3871

39-
$this->assertTrue($pInf->sub($one)->equals($pInf));
40-
$this->assertTrue($nInf->sub($one)->equals($nInf));
72+
$this->assertTrue($pInf->sub($nInf)->equals($pInf));
73+
$this->assertTrue($nInf->sub($pInf)->equals($nInf));
4174
}
4275
}

tests/Infinite/InfiniteAddTest.php

Lines changed: 0 additions & 52 deletions
This file was deleted.

tests/Infinite/InfiniteCompTest.php

Lines changed: 0 additions & 18 deletions
This file was deleted.

0 commit comments

Comments
 (0)