fluentasserts.core.operations.greaterThan 42/45(93%) line coverage

      
10
20
30
40
50
60
70
80
90
100
110
120
130
140
150
160
170
180
1988
200
2188
2288
230
240
2588
2688
270
280
290
300
3188
320
3388
340
350
360
370
386
390
406
416
426
436
440
450
466
476
480
496
506
510
520
530
540
556
560
576
580
590
600
610
628
630
648
658
668
678
680
690
708
718
720
730
740
750
768
770
788
790
800
810
82102
8345
840
850
86102
8762
880
890
9040
9140
920
9340
940
9540
9614
9714
980
9926
10026
1010
1020
10340
10440
1050
10640
1070
module fluentasserts.core.operations.greaterThan; import fluentasserts.core.results; import fluentasserts.core.evaluation; import fluentasserts.core.lifecycle; import std.conv; import std.datetime; version(unittest) { import fluentasserts.core.expect; } static immutable greaterThanDescription = "Asserts that the tested value is greater than the tested value. However, it's often best to assert that the target is equal to its expected value."; /// IResult[] greaterThan(T)(ref Evaluation evaluation) @safe nothrow { evaluation.message.addText("."); T expectedValue; T currentValue; try { expectedValue = evaluation.expectedValue.strValue.to!T; currentValue = evaluation.currentValue.strValue.to!T; } catch(Exception e) { return [ new MessageResult("Can't convert the values to " ~ T.stringof) ]; } auto result = currentValue > expectedValue; return greaterThanResults(result, evaluation.expectedValue.strValue, evaluation.currentValue.strValue, evaluation); } /// IResult[] greaterThanDuration(ref Evaluation evaluation) @safe nothrow { evaluation.message.addText("."); Duration expectedValue; Duration currentValue; string niceExpectedValue; string niceCurrentValue; try { expectedValue = dur!"nsecs"(evaluation.expectedValue.strValue.to!size_t); currentValue = dur!"nsecs"(evaluation.currentValue.strValue.to!size_t); niceExpectedValue = expectedValue.to!string; niceCurrentValue = currentValue.to!string; } catch(Exception e) { return [ new MessageResult("Can't convert the values to Duration") ]; } auto result = currentValue > expectedValue; return greaterThanResults(result, niceExpectedValue, niceCurrentValue, evaluation); } /// IResult[] greaterThanSysTime(ref Evaluation evaluation) @safe nothrow { evaluation.message.addText("."); SysTime expectedValue; SysTime currentValue; string niceExpectedValue; string niceCurrentValue; try { expectedValue = SysTime.fromISOExtString(evaluation.expectedValue.strValue); currentValue = SysTime.fromISOExtString(evaluation.currentValue.strValue); } catch(Exception e) { return [ new MessageResult("Can't convert the values to SysTime") ]; } auto result = currentValue > expectedValue; return greaterThanResults(result, evaluation.expectedValue.strValue, evaluation.currentValue.strValue, evaluation); } private IResult[] greaterThanResults(bool result, string niceExpectedValue, string niceCurrentValue, ref Evaluation evaluation) @safe nothrow { if(evaluation.isNegated) { result = !result; } if(result) { return []; } evaluation.message.addText(" "); evaluation.message.addValue(evaluation.currentValue.niceValue); IResult[] results = []; if(evaluation.isNegated) { evaluation.message.addText(" is greater than "); results ~= new ExpectedActualResult("less than or equal to " ~ niceExpectedValue, niceCurrentValue); } else { evaluation.message.addText(" is less than or equal to "); results ~= new ExpectedActualResult("greater than " ~ niceExpectedValue, niceCurrentValue); } evaluation.message.addValue(niceExpectedValue); evaluation.message.addText("."); return results; }