Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void main()
- {
- import core.time;
- import std.stdio: write, writeln, writef, writefln;
- {
- auto d = dur!"days"(12) + dur!"minutes"(7) + dur!"usecs"(501223);
- long days;
- int seconds;
- short msecs;
- d.split!("days", "seconds", "msecs")(days, seconds, msecs);
- assert(days == 12);
- assert(seconds == 7 * 60);
- assert(msecs == 501);
- auto splitStruct = d.split!("days", "seconds", "msecs")();
- assert(splitStruct.days == 12);
- assert(splitStruct.seconds == 7 * 60);
- assert(splitStruct.msecs == 501);
- auto fullSplitStruct = d.split();
- assert(fullSplitStruct.weeks == 1);
- assert(fullSplitStruct.days == 5);
- assert(fullSplitStruct.hours == 0);
- assert(fullSplitStruct.minutes == 7);
- assert(fullSplitStruct.seconds == 0);
- assert(fullSplitStruct.msecs == 501);
- assert(fullSplitStruct.usecs == 223);
- assert(fullSplitStruct.hnsecs == 0);
- assert(d.split!"minutes"().minutes == d.total!"minutes");
- }
- {
- auto d = dur!"days"(12);
- assert(d.split!"weeks"().weeks == 1);
- assert(d.split!"days"().days == 12);
- assert(d.split().weeks == 1);
- assert(d.split().days == 5);
- }
- {
- auto d = dur!"days"(7) + dur!"hnsecs"(42);
- assert(d.split!("seconds", "nsecs")().nsecs == 4200);
- }
- {
- auto d = dur!"days"(-7) + dur!"hours"(-9);
- auto result = d.split!("days", "hours")();
- assert(result.days == -7);
- assert(result.hours == -9);
- }
- }
Add Comment
Please, Sign In to add comment