public void MapDoAndPO_ShouldDispose() { var mapper = new EFCorePoManager <PersistentAggregateRoot, AggregateRootPOModel>(AutoMapper_POMapper); var aggregateRoot = new PersistentAggregateRoot("Hello", new ColorValueObject(255, 255, 255)); var poResult = mapper.MapToPO(aggregateRoot); mapper.Dispose(); Assert.Throws <NullReferenceException>(() => { mapper.MapToPO(aggregateRoot); }); }
public void MapDoAndPO_HasDomainEvent() { var mapper = new EFCorePoManager <PersistentAggregateRoot, AggregateRootPOModel>(AutoMapper_POMapper); var aggregateRoot = new PersistentAggregateRoot("Hello", new ColorValueObject(255, 255, 255)); aggregateRoot.AddDomainEvent(new DemoDomainEvent() { Name = "Event" }); var poResult = mapper.MapToPO(aggregateRoot); var @events = poResult.GetDomainEvents(); Assert.Single(@events); Assert.Equal("Event", ((DemoDomainEvent)@events.First()).Name); }
public void MapDoAndPO_NormalMap() { var mapper = new EFCorePoManager <PersistentAggregateRoot, AggregateRootPOModel>(AutoMapper_POMapper); var aggregateRoot = new PersistentAggregateRoot("Hello", new ColorValueObject(255, 255, 255)); var poResult = mapper.MapToPO(aggregateRoot); Assert.NotNull(poResult); Assert.Equal("Hello", poResult.Name); Assert.Equal(255, poResult.R); Assert.Equal(255, poResult.G); Assert.Equal(255, poResult.B); var pOModel = new AggregateRootPOModel("Hello", 255, 255, 255); var doResult = mapper.MapToDO(pOModel); Assert.NotNull(doResult); Assert.Equal("Hello", doResult.Name); Assert.Equal(255, doResult.Color.R); Assert.Equal(255, doResult.Color.G); Assert.Equal(255, doResult.Color.B); }