コード例 #1
0
            public void Adds_a_new_catch_to_the_read_model()
            {
                // Arrange
                var readModelMock         = new Mock <IFishLogReadModel>();
                var dbSetMock             = new Mock <IDbSet <Catch> >();
                var domainRepositoryDummy = new Mock <IDomainRepository>().Object;

                readModelMock.Setup(m => m.Catches).Returns(dbSetMock.Object);

                var catchLoggedEvent = new CatchLoggedEvent {
                    Species = "Test", Depth = 10, Length = 100, Latitude = 10, Longitude = 10
                };
                var denormalizer = new CatchesReadModelDenormalizer(readModelMock.Object, domainRepositoryDummy);

                // Act
                denormalizer.Handle(catchLoggedEvent);

                // Assert
                dbSetMock.Verify(s => s.Add(It.Is <Catch>(c =>
                                                          c.Species == catchLoggedEvent.Species &&
                                                          c.Length == catchLoggedEvent.Length &&
                                                          c.Depth == catchLoggedEvent.Depth &&
                                                          c.Latitude == catchLoggedEvent.Latitude &&
                                                          c.Longitude == catchLoggedEvent.Longitude)), "The saved catch does not match the catch from the event.");

                readModelMock.Verify(m => m.SaveChanges(), "The changes were not saved to the read model.");
            }
コード例 #2
0
ファイル: Catch.cs プロジェクト: scriv/CodeSample
 /// <summary>
 /// Handles the <see cref="CatchLoggedEvent"/>.
 /// </summary>
 /// <param name="domainEvent">The domain event.</param>
 public void OnCatchLogged(CatchLoggedEvent domainEvent)
 {
     this.Id        = domainEvent.AggregateRootId;
     this.Species   = domainEvent.Species;
     this.Length    = domainEvent.Length;
     this.Depth     = domainEvent.Depth;
     this.Longitude = domainEvent.Longitude;
     this.Latitude  = domainEvent.Latitude;
 }