Ejemplo n.º 1
0
        public void GivenUnseenEventsAndNoUncommittedEvents_WhenTestingForConflicts_ThenFindNoConflicts()
        {
            // Arrange
            IConcurrencyMonitor  monitor           = new StrictConcurrencyMonitor();
            IEnumerable <object> unseenEvents      = new[] { new UserRegistered(Guid.NewGuid()) };
            IEnumerable <object> uncommittedEvents = Enumerable.Empty <object>();

            // Act
            IEnumerable <ConcurrencyConflict> conflicts = monitor.CheckForConflicts(unseenEvents, uncommittedEvents);

            // Assert
            CollectionAssert.IsEmpty(conflicts, "Conflicts have been returned where there should be none.");
        }
Ejemplo n.º 2
0
        public void GivenUnseenEvents_WhenTestingForConflicts_ThenFindConflicts()
        {
            // Arrange
            var userId = Guid.NewGuid();
            IConcurrencyMonitor  monitor           = new StrictConcurrencyMonitor();
            IEnumerable <object> unseenEvents      = new[] { new UserChangedPassword("newpassword") };
            IEnumerable <object> uncommittedEvents = new[] { new UserChangedPassword("differentnewpassword") };

            // Act
            IList <ConcurrencyConflict> conflicts = monitor.CheckForConflicts(unseenEvents, uncommittedEvents).ToList();

            // Assert
            Assert.AreEqual(1, conflicts.Count, "Expected one and only one conflict.");
            var conflict = conflicts.Single();

            CollectionAssert.AreEqual(unseenEvents, conflict.UnseenEvents);
            CollectionAssert.AreEqual(uncommittedEvents, conflict.UncommittedEvents);
            Assert.AreEqual("Changes conflict with one or more committed events.", conflict.Message);
        }