public void multiple_define_oob()
        {
            var stream = new Aggregates.Internal.EventStream <Entity>("test", "test", null, null, _events, null);

            Assert.AreEqual(0, stream.Oobs.Count());
            Assert.AreEqual(0, stream.PendingOobs.Count());

            stream.DefineOob("test");
            stream.DefineOob("test");

            Assert.AreEqual(1, stream.PendingOobs.Count());
        }
        public void oob_uncomitted()
        {
            var stream = new Aggregates.Internal.EventStream <Entity>("test", "test", null, null, _events, null);

            stream.DefineOob("test");
            stream.AddOob(new FakeEvent(), "test", new Dictionary <string, string>());

            Assert.AreEqual(1, stream.Uncommitted.Count());
        }
        public void oob_dirty_check()
        {
            var stream = new Aggregates.Internal.EventStream <Entity>("test", "test", null, null, _events, null);

            Assert.False(stream.Dirty);

            stream.DefineOob("test");
            stream.AddOob(new FakeEvent(), "test", new Dictionary <string, string>());

            Assert.True(stream.Dirty);
        }
        public void total_uncomitted()
        {
            var stream = new Aggregates.Internal.EventStream <Entity>("test", "test", null, null, _events, null);

            Assert.AreEqual(0, stream.TotalUncommitted);

            stream.Add(new FakeEvent(), new Dictionary <string, string>());

            Assert.AreEqual(1, stream.TotalUncommitted);

            stream.DefineOob("test");
            stream.AddOob(new FakeEvent(), "test", new Dictionary <string, string>());

            Assert.AreEqual(2, stream.TotalUncommitted);

            var memento = new Moq.Mock <IMemento>();

            stream.AddSnapshot(memento.Object);

            Assert.AreEqual(3, stream.TotalUncommitted);
        }