Sha256: 59acfa862eae63d9f55507209eb06dc0181937773c9078bd077b6bec1d2926bc

Contents?: true

Size: 812 Bytes

Versions: 181

Compression:

Stored size: 812 Bytes

Contents

module gigasecond;

import std.stdio;
import std.datetime;

void main() {
    assert(gsAnniversary(DateTime(2011, 4, 25)) == DateTime(2043, 1, 1, 1, 46, 40));
    assert(gsAnniversary(DateTime(1977, 6, 13)) == DateTime(2009, 2, 19, 1, 46, 40));
    assert(gsAnniversary(DateTime(1959, 7, 19)) == DateTime(1991, 3, 27, 1, 46, 40));
    assert(gsAnniversary(DateTime(2015, 1, 24, 22, 0, 0)) == DateTime(2046, 10, 2, 23, 46, 40));
    assert(gsAnniversary(DateTime(2015, 1, 24, 23, 59, 59)) == DateTime(2046, 10, 3, 1, 46, 39));

    //check that it doesn't mutate the argument
    auto d = DateTime(2011, 4, 25);
    assert(gsAnniversary(d) == DateTime(2043, 1, 1, 1, 46, 40));
    assert(d == DateTime(2011, 4, 25));

    //For fun add a test for your own gigasecond anniversary

    writeln("All tests pass");
}

Version data entries

181 entries across 181 versions & 1 rubygems

Version Path
trackler-2.1.0.25 tracks/dlang/exercises/gigasecond/gigasecond.d
trackler-2.1.0.24 tracks/dlang/exercises/gigasecond/gigasecond.d
trackler-2.1.0.23 tracks/dlang/exercises/gigasecond/gigasecond.d
trackler-2.1.0.22 tracks/dlang/exercises/gigasecond/gigasecond.d
trackler-2.1.0.21 tracks/dlang/exercises/gigasecond/gigasecond.d
trackler-2.1.0.20 tracks/dlang/exercises/gigasecond/gigasecond.d
trackler-2.1.0.19 tracks/dlang/exercises/gigasecond/gigasecond.d
trackler-2.1.0.18 tracks/dlang/exercises/gigasecond/gigasecond.d
trackler-2.1.0.17 tracks/dlang/exercises/gigasecond/gigasecond.d
trackler-2.1.0.16 tracks/dlang/exercises/gigasecond/gigasecond.d
trackler-2.1.0.15 tracks/dlang/exercises/gigasecond/gigasecond.d
trackler-2.1.0.14 tracks/dlang/exercises/gigasecond/gigasecond.d
trackler-2.1.0.13 tracks/dlang/exercises/gigasecond/gigasecond.d
trackler-2.1.0.12 tracks/dlang/exercises/gigasecond/gigasecond.d
trackler-2.1.0.11 tracks/dlang/exercises/gigasecond/gigasecond.d
trackler-2.1.0.10 tracks/dlang/exercises/gigasecond/gigasecond.d
trackler-2.1.0.9 tracks/dlang/exercises/gigasecond/gigasecond.d
trackler-2.1.0.8 tracks/dlang/exercises/gigasecond/gigasecond.d
trackler-2.1.0.7 tracks/dlang/exercises/gigasecond/gigasecond.d
trackler-2.1.0.6 tracks/dlang/exercises/gigasecond/gigasecond.d