Пример #1
0
        public void New_uses_sensible_defaults()
        {
            var reference = RillReference.New("test");

            var header = RillDetails.New(reference);

            header.Reference.Should().Be(reference);
            header.Sequence.Should().Be(Sequence.None);
            header.LastChangedAt.Should().Be(header.CreatedAt);
            ((DateTime)header.CreatedAt).Should().BeCloseTo(DateTime.UtcNow, TimeSpan.FromMilliseconds(500));
            ((DateTime)header.LastChangedAt).Should().BeCloseTo(DateTime.UtcNow, TimeSpan.FromMilliseconds(500));
        }
Пример #2
0
        public void Can_not_be_constructed_When_last_changed_takes_presence_before_created()
        {
            var ts = DateTime.UtcNow;

            Action failing = () => RillDetails.From(
                RillReference.New("test"),
                Sequence.First,
                Timestamp.From(ts),
                Timestamp.From(ts.AddMilliseconds(-1)));

            failing.Should()
            .ThrowExactly <ArgumentException>()
            .WithMessage("Last changed can not take presence before Created timestamp.");
        }
Пример #3
0
 internal RillDetails ToDetails() =>
 RillDetails.From(
     RillReference.From(Name, Id),
     Rill.Sequence.From(Sequence),
     Timestamp.From(CreatedAt.UtcDateTime),
     Timestamp.From(LastChangedAt.UtcDateTime));