Exemplo n.º 1
0
        public void FakeConnectionCheckerChangesVehicleStatus()
        {
            // Arrange
            var customers         = customersRepo.GetCustomers();
            var connectionChecker = new FakeConnectionChecker();

            // Act
            connectionChecker.CheckVehiclesConnection(customers);

            // Assert
            // Check if any connection status is changed
            var statusChanged = customers.SelectMany(customer => customer.OwnedVehicles).Any(vehicle => vehicle.Status);

            Assert.IsNotNull(statusChanged);
        }
Exemplo n.º 2
0
        public void FakeConnectionCheckerReturnsRandomVehicleStatus()
        {
            // Arrange
            var customers         = customersRepo.GetCustomers();
            var connectionChecker = new FakeConnectionChecker();

            // Act
            connectionChecker.CheckVehiclesConnection(customers);
            var firstCheckStatus = customers.First().OwnedVehicles.First().Status;

            System.Threading.Thread.Sleep(100);

            connectionChecker.CheckVehiclesConnection(customers);
            var secondCheckStatus = customers.First().OwnedVehicles.First().Status;

            System.Threading.Thread.Sleep(100);

            connectionChecker.CheckVehiclesConnection(customers);
            var thirdCheckStatus = customers.First().OwnedVehicles.First().Status;

            // Assert
            // Check if the connection status is changed between 3 attempts
            Assert.IsTrue(firstCheckStatus != secondCheckStatus || secondCheckStatus != thirdCheckStatus || firstCheckStatus != thirdCheckStatus);
        }