static void Main(string[] args)
    {
        MyAggregate aggr = new MyAggregate();

        aggr[0] = "1";
        aggr[1] = "2";
        aggr[2] = "3";
        aggr[3] = "4";
        aggr[4] = "5";
        aggr[5] = "6";
        aggr[6] = "7";
        aggr[7] = "8";
        aggr[8] = "9";
        aggr[9] = "10";

        IIterator iter = aggr.GetIterator();

        for (string s = iter.FirstItem; iter.IsDone == false; s = iter.NextItem)
        {
            Console.WriteLine(s);
        }

        Console.WriteLine("Press any key to exitt...");
        Console.ReadKey();
    }
Exemple #2
0
        public void It_retains_emitted_events()
        {
            var a = new MyAggregate();

            a.Do();

            Assert.AreEqual(1, a.Dehydrate().Count());
        }
Exemple #3
0
        public void It_applies_emitted_event()
        {
            var a = new MyAggregate();

            a.Do();

            Assert.IsTrue(a.EventApplied);
        }
Exemple #4
0
        public void It_runs_the_event_through_ports()
        {
            var a = new MyAggregate(new MyPort());

            a.Do();
            var messages = a.ProcessPorts();

            Assert.AreEqual(1, messages.Count());
        }
Exemple #5
0
        public void ItShouldManageDomainEvents()
        {
            var aggregate = new MyAggregate();

            aggregate.DoSomething();
            var domainEvents = aggregate.FlushDomainEvents().ToList();

            Assert.Equal(1, domainEvents.Count);
            domainEvents = aggregate.FlushDomainEvents().ToList();
            Assert.Equal(0, domainEvents.Count);
        }
        public void EventApplier()
        {
            // Arrange
            var myAggregate = new MyAggregate(MyId.New);

            // Act
            myAggregate.Count(42);

            // Assert
            myAggregate.State.Count.Should().Be(42);
        }
Exemple #7
0
        public void ThisCouldBeNamedWhatEver(MySubCommand cmd)
        {
            if (OnHandlerInvocation != null)
            {
                OnHandlerInvocation.Invoke(cmd);
            }

            var aggregate = new MyAggregate(cmd.AggregateId);

            aggregate.ActionRaisingSubEventWithApplier(cmd.Value);

            _domainRepository.Store(aggregate);
        }
Exemple #8
0
        public void Should_RemoveEvents_When_EventsHaveBeenConsumed()
        {
            // Arrange
            Guid guid        = new Guid();
            var  myAggregate = new MyAggregate();

            // Act
            myAggregate.DoSomething(guid);
            myAggregate.ClearDomainEvents();

            // Assert
            Assert.AreEqual(0, myAggregate.DomainEvents.Count);
        }
Exemple #9
0
        public void Should_StoreOneEvent_When_AnEventHappened()
        {
            // Arrange
            Guid guid        = new Guid();
            var  myAggregate = new MyAggregate();

            // Act
            myAggregate.DoSomething(guid);

            // Assert
            Assert.AreEqual(1, myAggregate.DomainEvents.Count);
            foreach (var oneDomainEvent in myAggregate.DomainEvents)
            {
                Assert.IsInstanceOfType(oneDomainEvent, typeof(SomethingHappenedEvent));
                var somethingHappenedEvent = (SomethingHappenedEvent)oneDomainEvent;
                Assert.AreEqual(guid, somethingHappenedEvent.Guid);
            }
        }
    static void Main(string[] args)
    {
        MyAggregate aggregate = new MyAggregate();

        aggregate[0] = "1";
        aggregate[1] = "2";
        aggregate[2] = "3";
        aggregate[3] = "4";
        aggregate[4] = "5";
        aggregate[5] = "6";
        aggregate[6] = "7";
        aggregate[7] = "8";
        aggregate[8] = "9";
        aggregate[9] = "Bob";

        IIterator iter = aggregate.GetIterator();

        for (string s = iter.FirstItem; iter.IsDone == false; s = iter.NextItem)
        {
            Console.WriteLine(s);
        }

        Console.ReadKey();
    }
    static void Main(string[] args)
    {
        MyAggregate aggregate = new MyAggregate();

        aggregate[0] = "1";
        aggregate[1] = "2";
        aggregate[2] = "3";
        aggregate[3] = "4";
        aggregate[4] = "5";
        aggregate[5] = "6";
        aggregate[6] = "7";
        aggregate[7] = "8";
        aggregate[8] = "9";
        aggregate[9] = "Bob";

        IIterator iter = aggregate.GetIterator();

        for (string s = iter.FirstItem; iter.IsDone == false; s = iter.NextItem)
        {
            Console.WriteLine(s);
        }

        Console.ReadKey();
    }