示例#1
0
        public void Create_WhenConstructorDoesNotExistThatTakesEvents_Throws()
        {
            var events  = new[] { new TestAggregateCreated(Guid.NewGuid()) };
            var factory = new ReflectionConventionAggregateFactory();

            var exception = Assert.Throws <ConstructorNotFoundException>(
                () => factory.Create <TestAggregateWithoutEventsConstructor>(events));

            _output.WriteLine(exception.Message);
        }
示例#2
0
        public void Create_WhenAggregateTypeDoesNotExist_Throws()
        {
            var events  = new[] { new TestAggregateCreated(Guid.NewGuid()) };
            var factory = new ReflectionConventionAggregateFactory();

            var exception = Assert.Throws <UnrecognizedTypeException>(
                () => factory.Create("BadNamespace.BadAggregate", events));

            _output.WriteLine(exception.Message);
        }
示例#3
0
        public void Create_WhenAggregateRegisteredEventsAndConstructorExists_ReturnsAggregate()
        {
            var idValue = Guid.NewGuid();
            var events  = new[] { new TestAggregateCreated(idValue) };
            var factory = new ReflectionConventionAggregateFactory();

            var aggregate = factory.Create <TestAggregate>(events);

            aggregate.TestId.Should().Be(idValue);
        }