fluentasserts.core.operations.arrayEqual 20/20(100%) line coverage

      
10
20
30
40
50
60
70
80
90
100
110
120
130
140
150
16178
17178
180
19178
20178
210
22178
231215
24466
2543
2643
270
280
290
3055
310
320
33178
3475
350
360
37178
38117
390
400
4161
420
4361
4419
450
4642
4742
480
490
5061
510
module fluentasserts.core.operations.arrayEqual; import fluentasserts.core.results; import fluentasserts.core.evaluation; import fluentasserts.core.lifecycle; version(unittest) { import fluentasserts.core.expect; } static immutable arrayEqualDescription = "Asserts that the target is strictly == equal to the given val."; /// IResult[] arrayEqual(ref Evaluation evaluation) @safe nothrow { evaluation.message.addText("."); bool result = true; EquableValue[] expectedPieces = evaluation.expectedValue.proxyValue.toArray; EquableValue[] testData = evaluation.currentValue.proxyValue.toArray; if(testData.length == expectedPieces.length) { foreach(index, testedValue; testData) { if(testedValue !is null && !testedValue.isEqualTo(expectedPieces[index])) { result = false; break; } } } else { result = false; } if(evaluation.isNegated) { result = !result; } if(result) { return []; } IResult[] results = []; if(evaluation.isNegated) { try results ~= new ExpectedActualResult("not " ~ evaluation.expectedValue.strValue, evaluation.currentValue.strValue); catch(Exception) {} } else { try results ~= new DiffResult(evaluation.expectedValue.strValue, evaluation.currentValue.strValue); catch(Exception) {} try results ~= new ExpectedActualResult(evaluation.expectedValue.strValue, evaluation.currentValue.strValue); catch(Exception) {} } return results; }