Пример #1
0
        public void ShouldPassTicketsIntoEnforcementRules()
        {
            //Arrange
            ParkingTicketDto sampleTicket = new ParkingTicketDto
            {
                DateOfOffense = DateTime.MinValue, Fine = 3, Offense = "bad hair",
                State         = "In", TicketID = Guid.NewGuid()
            };

            _MY.Setup(x => x.GetTicketsFromTag(_tag)).Returns(new List <ParkingTicketDto>());
            _IL.Setup(x => x.GetTicketsFromTag(_tag)).Returns(new List <ParkingTicketDto>());
            _IN.Setup(x => x.GetTicketsFromTag(_tag)).Returns(new List <ParkingTicketDto> {
                sampleTicket
            });
            _PA.Setup(x => x.GetTicketsFromTag(_tag)).Returns(new List <ParkingTicketDto>());
            _EnforcementRules
            .Setup(x => x.ShouldTowCar(new List <ParkingTicketDto>(), ParkingOffense.BlockingSidewalk, It.IsAny <int>()))
            .Returns(true);
            _sut = new TowDeterminerService(_logger.Object, _MY.Object, _IL.Object, _IN.Object, _PA.Object, _EnforcementRules.Object);

            //Act
            bool result = _sut.ShouldTowCar(ParkingOffense.BlockingSidewalk, _tag, It.IsAny <int>());

            //Assert
            _EnforcementRules.Verify(x => x.ShouldTowCar(new List <ParkingTicketDto> {
                sampleTicket
            }, ParkingOffense.BlockingSidewalk, It.IsAny <int>()), Times.Once);
        }
Пример #2
0
        public void ShouldCallAllParkingAuthorities()
        {
            //Arrange
            _sut = new TowDeterminerService(_logger.Object, _MY.Object, _IL.Object, _IN.Object, _PA.Object, _EnforcementRules.Object);

            //Act
            bool result = _sut.ShouldTowCar(ParkingOffense.BlockingSidewalk, _tag, It.IsAny <int>());

            //Assert
            _MY.Verify(x => x.GetTicketsFromTag(_tag), Times.Once);
            _IL.Verify(x => x.GetTicketsFromTag(_tag), Times.Once);
            _IN.Verify(x => x.GetTicketsFromTag(_tag), Times.Once);
            _PA.Verify(x => x.GetTicketsFromTag(_tag), Times.Once);
        }
Пример #3
0
        public void ShouldLogExceptionWhenPAExceptionIsThrown()
        {
            //Arrange
            SystemException someException = new SystemException("some Exception");

            _PA.Setup(x => x.GetTicketsFromTag(It.IsAny <string>())).Throws(someException);
            _sut = new TowDeterminerService(_logger.Object, _MY.Object, _IL.Object, _IN.Object, _PA.Object, _EnforcementRules.Object);

            //Act
            _sut.ShouldTowCar(ParkingOffense.BlockingSidewalk, _tag, It.IsAny <int>());

            //Assert
            _logger.Verify(x => x.LogException(someException), Times.Once);
        }
Пример #4
0
        public void ShouldCallAllStateRepositoriesWhenPAExceptionIsThrown()
        {
            //Arrange
            _PA.Setup(x => x.GetTicketsFromTag(It.IsAny <string>())).Throws(new Exception("SomeExceptionThrown"));
            _sut = new TowDeterminerService(_logger.Object, _MY.Object, _IL.Object, _IN.Object, _PA.Object, _EnforcementRules.Object);

            //Act
            _sut.ShouldTowCar(ParkingOffense.BlockingSidewalk, _tag, It.IsAny <int>());

            //Assert
            _MY.Verify(x => x.GetTicketsFromTag(_tag), Times.Once);
            _IL.Verify(x => x.GetTicketsFromTag(_tag), Times.Once);
            _IN.Verify(x => x.GetTicketsFromTag(_tag), Times.Once);
            _PA.Verify(x => x.GetTicketsFromTag(_tag), Times.Once);
        }
Пример #5
0
        public void ShouldReturnValuesFromEnforcementRules()
        {
            //Arrange
            _MY.Setup(x => x.GetTicketsFromTag(_tag)).Returns(new List <ParkingTicketDto>());
            _IL.Setup(x => x.GetTicketsFromTag(_tag)).Returns(new List <ParkingTicketDto>());
            _IN.Setup(x => x.GetTicketsFromTag(_tag)).Returns(new List <ParkingTicketDto>());
            _PA.Setup(x => x.GetTicketsFromTag(_tag)).Returns(new List <ParkingTicketDto>());
            _EnforcementRules
            .Setup(x => x.ShouldTowCar(new List <ParkingTicketDto>(), ParkingOffense.BlockingSidewalk, It.IsAny <int>()))
            .Returns(true);
            _sut = new TowDeterminerService(_logger.Object, _MY.Object, _IL.Object, _IN.Object, _PA.Object, _EnforcementRules.Object);

            //Act
            bool result = _sut.ShouldTowCar(ParkingOffense.BlockingSidewalk, _tag, It.IsAny <int>());

            //Assert
            Assert.IsTrue(result);
        }