Skip to content

Commit 7a6764f

Browse files
committed
add more toBeSumOf() tests
1 parent 434242f commit 7a6764f

File tree

2 files changed

+13
-4
lines changed

2 files changed

+13
-4
lines changed

Diff for: src/Expectation.php

+3-1
Original file line numberDiff line numberDiff line change
@@ -145,12 +145,14 @@ public function toBeLogarithmOf(float $number, float $base = M_E): PestExpectati
145145
public function toBeSumOf(array $numbers): PestExpectation
146146
{
147147
$sum = 0;
148+
148149
foreach ($numbers as $number) {
149150
expect($number)->toBeNumeric();
151+
150152
$sum += $number;
151153
}
152154

153-
return expect($this->value === $sum)->toBeTrue("$this->value !== $sum");
155+
return expect($this->value === $sum)->toBeTrue("$this->value doesn't equal $sum");
154156
}
155157

156158
/**

Diff for: tests/toBeSumOf.php

+10-3
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,17 @@
55
it('passes', function (int $sum, array $numbers): void {
66
expect($sum)->toBeSumOf($numbers);
77
})->with([
8-
[10, [3, 3, 4]],
8+
[0, []],
9+
[0, [-1, 0, 1]],
10+
[10, [3, '3', 4]],
911
[20, [4, 4, 4, 4, 4]],
12+
[-20, [-4, -30, 14]],
1013
[30, [5, 5, 5, 5, 5, 5]],
1114
[40, [6, 6, 6, 6, 6, 6, 4]],
1215
[50, [7, 7, 7, 7, 7, 7, 7, 1]],
1316
[72, [8, 8, 8, 8, 8, 8, 8, 8, 8]],
1417
[88, [9, 9, 9, 9, 9, 9, 9, 9, 9, 7]],
15-
[110, [10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10]],
18+
[110, [10, 10, 10, 10, 10, 10, '10', 10, 10, 10, 10]],
1619
]);
1720

1821
it('passes not', function (array $numbers): void {
@@ -24,8 +27,12 @@
2427
[[1, 2, 3, 4, 5]],
2528
]);
2629

30+
it('fails if not number on the list', function (): void {
31+
expect(0)->toBeSumOf([2, 1, 3, 'not number', 78, 99]);
32+
})->throws(ExpectationFailedException::class);
33+
2734
test('failures', function (): void {
28-
expect(1)->toBeSumOf([]);
35+
expect(1)->toBeSumOf([1, 2]);
2936
})->throws(ExpectationFailedException::class);
3037

3138
test('failures not', function (): void {

0 commit comments

Comments
 (0)