private static (IRill Rill, InterceptingStore, IRillTransaction Transaction) NewScenario()
        {
            var rill = RillFactory.Synchronous(RillReference.New("rill-tran-tests"));
            var tran = RillTransaction.Begin(rill);

            return(rill, new InterceptingStore(), tran);
        }
Esempio n. 2
0
        public void Can_be_reconstructed()
        {
            var org = RillReference.New(Fake.Strings.Random());

            var reconstructed = RillReference.From(org.Name, org.Id);

            org.Should().Be(reconstructed);
        }
Esempio n. 3
0
        public void Can_be_constructed()
        {
            var name = Fake.Strings.Random();

            var constructed = RillReference.New(name);

            constructed.Name.Should().Be(name);
            constructed.Id.Should().NotBeEmpty();
        }
Esempio n. 4
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));
        }
Esempio n. 5
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.");
        }
Esempio n. 6
0
        public static async Task Main()
        {
            var config = CreateConfiguration();

            var orderStore = await CreateEfRillStoreAsync(config);

            var rillReference = RillReference.New("order");

            await PlaceAndApproveOrderAsync(orderStore, rillReference);

            await ShipOrderAsync(orderStore, rillReference);

            Console.WriteLine("**************************");
            Console.WriteLine("All commits:");
            Console.WriteLine("**************************");
            await foreach (var commit in orderStore.ReadCommitsAsync(rillReference))
            {
                Console.WriteLine(commit);
            }
            Console.WriteLine("**************************");

            await orderStore.DeleteAsync(rillReference);
        }
Esempio n. 7
0
 private static IRill NewSut()
 => RillFactory.Synchronous(RillReference.New("sync-rill-tests"));
Esempio n. 8
0
        public void Can_not_be_constructed_if_parts_are_missing()
        {
            Action missingName = () => RillReference.New(string.Empty);

            missingName.Should().Throw <ArgumentException>().And.ParamName.Should().Be("name");
        }