예제 #1
0
        public void LockEverything_Saves_Item()
        {
            // Arrange
            const bool expected     = true;
            bool       updateCalled = false;
            Lock       lck          = new Lock {
                IsUnlocked = !expected
            };
            Mock <ILockRepository> mockRepository = new Mock <ILockRepository>(MockBehavior.Loose);

            mockRepository.Setup(m => m.GetAll()).Returns(new List <Lock> {
                lck
            });
            mockRepository.Setup(m => m.Update(It.IsAny <Lock>())).Callback(() => updateCalled = true);


            // Act
            DoorLocker locker = new DoorLocker(mockRepository.Object);

            locker.LockEverything(expected);

            // Assert
            updateCalled.Should().Be(true, "It didn't save");
            mockRepository.VerifyAll();
        }
예제 #2
0
        public void LocksEverything(int expected, bool locked)
        {
            // Arrange
            int         counter = 0;
            List <Lock> db      = new List <Lock>();

            for (int i = 0; i < expected; i++)
            {
                db.Add(new Lock {
                    IsUnlocked = !locked
                });
            }

            Mock <ILockRepository> lockRepository = this.GetMockLockRepository(db, () => counter++);

            // Act
            DoorLocker doorLocker = new DoorLocker(lockRepository.Object);

            doorLocker.LockEverything(locked);

            // Assert
            counter.Should().Be(expected, "it should call update for as many items as are in the list");
        }