Ejemplo n.º 1
0
        public void Snapshots_are_numbered_correctly()
        {
            var config = new EngineConfiguration().ForImmutability().ForIsolatedTest();
            var engine = Engine.Create<ImmutableModel>(config);

            engine.Execute(new AppendNumberCommand(42));
            engine.Execute(new AppendNumberCommand(42));
            engine.Execute(new AppendNumberCommand(42));
            engine.Execute(new AppendNumberCommand(42));
            engine.CreateSnapshot();

            var store = config.CreateSnapshotStore();
            Assert.AreEqual(4, store.Snapshots.First().Revision);
            Assert.AreEqual(1, store.Snapshots.Count());
        }
Ejemplo n.º 2
0
        public void Snapshots_are_numbered_correctly()
        {
            var config = new EngineConfiguration().ForImmutability().ForIsolatedTest();
            var engine = Engine.Create<ImmutableModel>(config);

            engine.Execute(new AppendNumberCommand(42));
            engine.Execute(new AppendNumberCommand(42));
            engine.Execute(new AppendNumberCommand(42));
            engine.Execute(new AppendNumberCommand(42));
            engine.CreateSnapshot();

            var store = config.CreateSnapshotStore();
            Assert.AreEqual(4, store.Snapshots.First().Revision);
            Assert.AreEqual(1, store.Snapshots.Count());
        }
Ejemplo n.º 3
0
        public void SnapshotPerTransactionCreatesSnapshotsAndNoJournalEntries()
        {
            var config = new EngineConfiguration().ForIsolatedTest().ForImmutability();
            config.PersistenceMode = PersistenceMode.SnapshotPerTransaction;
            var engine = Engine.Create<ImmutableModel>(config);
            engine.Execute(new AppendNumberCommand(2));
            engine.Execute(new AppendNumberCommand(42));
            engine.Execute(new AppendNumberCommand(12));
            engine.Close();

            var commandStore = config.CreateCommandStore();
            var snapshotStore = config.CreateSnapshotStore();

            Assert.AreEqual(3, snapshotStore.Snapshots.Count());
            Assert.AreEqual(0, commandStore.GetJournalEntries().OfType<JournalEntry<Command>>().Count());
        }
Ejemplo n.º 4
0
        public void ManualSnaphots()
        {
            var config = new EngineConfiguration().ForIsolatedTest().ForImmutability();
            config.PersistenceMode = PersistenceMode.ManualSnapshots;
            var engine = Engine.Create<ImmutableModel>(config);
            engine.Execute(new AppendNumberCommand(2));
            engine.Execute(new AppendNumberCommand(42));
            engine.CreateSnapshot();
            engine.Execute(new AppendNumberCommand(12));
            engine.Close();

            var store = config.CreateSnapshotStore();
            Assert.AreEqual(1, store.Snapshots.Count());

            engine = Engine.Load<ImmutableModel>(config);
            var sum = engine.Execute(new NumberSumQuery());
            Assert.AreEqual(44,sum);
        }
Ejemplo n.º 5
0
        public void SnapshotPerTransactionCreatesSnapshotsAndNoJournalEntries()
        {
            var config = new EngineConfiguration().ForIsolatedTest().ForImmutability();

            config.PersistenceMode = PersistenceMode.SnapshotPerTransaction;
            var engine = Engine.Create <ImmutableModel>(config);

            engine.Execute(new AppendNumberCommand(2));
            engine.Execute(new AppendNumberCommand(42));
            engine.Execute(new AppendNumberCommand(12));
            engine.Close();

            var commandStore  = config.CreateCommandStore();
            var snapshotStore = config.CreateSnapshotStore();

            Assert.AreEqual(3, snapshotStore.Snapshots.Count());
            Assert.AreEqual(0, commandStore.GetJournalEntries().OfType <JournalEntry <Command> >().Count());
        }
Ejemplo n.º 6
0
        public void ManualSnaphots()
        {
            var config = new EngineConfiguration().ForIsolatedTest().ForImmutability();

            config.PersistenceMode = PersistenceMode.ManualSnapshots;
            var engine = Engine.Create <ImmutableModel>(config);

            engine.Execute(new AppendNumberCommand(2));
            engine.Execute(new AppendNumberCommand(42));
            engine.CreateSnapshot();
            engine.Execute(new AppendNumberCommand(12));
            engine.Close();

            var store = config.CreateSnapshotStore();

            Assert.AreEqual(1, store.Snapshots.Count());

            engine = Engine.Load <ImmutableModel>(config);
            var sum = engine.Execute(new NumberSumQuery());

            Assert.AreEqual(44, sum);
        }
Ejemplo n.º 7
0
 public ModelLoader(EngineConfiguration config, ICommandStore commandStore = null, ISnapshotStore snapshotStore = null)
 {
     _commandStore  = commandStore ?? config.CreateCommandStore();
     _snapshotStore = snapshotStore ?? config.CreateSnapshotStore();
 }
Ejemplo n.º 8
0
 public ModelLoader(EngineConfiguration config, ICommandStore commandStore = null, ISnapshotStore snapshotStore = null)
 {
     _commandStore = commandStore ?? config.CreateCommandStore();
     _snapshotStore = snapshotStore ?? config.CreateSnapshotStore();
 }