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

      
10
20
30
40
50
60
70
80
90
100
110
120
130
140
150
160
1777
180
1977
2077
210
220
2377
2477
250
260
270
280
2977
300
3177
320
330
340
350
368
370
388
398
408
418
420
430
448
458
460
478
488
490
500
510
520
538
540
558
560
570
580
590
606
610
626
636
646
656
660
670
686
696
700
710
720
730
746
750
766
770
780
790
8091
8144
820
830
8491
8562
860
870
8829
8929
900
9129
920
9329
9414
9514
960
9715
9815
990
1000
10129
10229
1030
10429
1050
module fluentasserts.core.operations.lessThan; import fluentasserts.core.results; import fluentasserts.core.evaluation; import fluentasserts.core.lifecycle; import std.conv; import std.datetime; version(unittest) { import fluentasserts.core.expect; } /// IResult[] lessThan(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 lessThanResults(result, evaluation.expectedValue.strValue, evaluation.currentValue.strValue, evaluation); } /// IResult[] lessThanDuration(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 lessThanResults(result, niceExpectedValue, niceCurrentValue, evaluation); } /// IResult[] lessThanSysTime(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 lessThanResults(result, evaluation.expectedValue.strValue, evaluation.currentValue.strValue, evaluation); } private IResult[] lessThanResults(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 less than "); results ~= new ExpectedActualResult("greater than or equal to " ~ niceExpectedValue, niceCurrentValue); } else { evaluation.message.addText(" is greater than or equal to "); results ~= new ExpectedActualResult("less than " ~ niceExpectedValue, niceCurrentValue); } evaluation.message.addValue(niceExpectedValue); evaluation.message.addText("."); return results; }