Ejemplo n.º 1
0
 public override string ToString()
 {
     return("Id: {0} ShortDescription: {1} Fees: {2} IsFeePaid: {3}".Inject(Id,
                                                                            ShortDescription,
                                                                            VehicleFees.Calulate(),
                                                                            IsFeePaid));
 }
        public void IsFeePaid_ReturnsFalse_ByDefault()
        {
            // Arrange
            var         calculator = Substitute.For <IFeeCalculator>();
            VehicleFees sut        = CreateSut(calculator);

            // Act
            // Assert
            Assert.False(sut.IsFeePaid);
        }
        public void ContainsFee_ReturnsFalse_ForFeeNotInFees()
        {
            // Arrange
            var         fee        = Substitute.For <IFee>();
            var         calculator = Substitute.For <IFeeCalculator>();
            VehicleFees sut        = CreateSut(calculator);

            // Act
            // Assert
            Assert.False(sut.ContainsFee(fee));
        }
        private static VehicleFees CreateSut(IFeeCalculator calculator = null)
        {
            if (calculator == null)
            {
                calculator = Substitute.For <IFeeCalculator>();
            }

            var sut = new VehicleFees(calculator);

            return(sut);
        }
        public void IsFeePaid_ReturnsTrue_WhenFeeIsPaid()
        {
            // Arrange
            var         calculator = Substitute.For <IFeeCalculator>();
            VehicleFees sut        = CreateSut(calculator);

            sut.FeeIsPaid();

            // Act
            // Assert
            Assert.True(sut.IsFeePaid);
        }
        public void AddFee_ThrowsException_ForAddingFeeTwice()
        {
            // Arrange
            var         fee        = Substitute.For <IFee>();
            var         calculator = Substitute.For <IFeeCalculator>();
            VehicleFees sut        = CreateSut(calculator);

            sut.AddFee(fee);

            // Act
            // Assert
            Assert.Throws <FeeAlreadyAddedException>(() => sut.AddFee(fee));
        }
        public void RemoveFee_RemovesFeeFromFees_ForUnknownFee()
        {
            // Arrange
            var         fee        = Substitute.For <IFee>();
            var         calculator = Substitute.For <IFeeCalculator>();
            VehicleFees sut        = CreateSut(calculator);

            // Act
            sut.RemoveFee(fee);

            // Assert
            Assert.False(sut.ContainsFee(fee));
        }
        public void AddFee_IncreasesFeesCount_ForGivenFee()
        {
            // Arrange
            var         fee        = Substitute.For <IFee>();
            var         calculator = Substitute.For <IFeeCalculator>();
            VehicleFees sut        = CreateSut(calculator);

            // Act
            sut.AddFee(fee);

            // Assert
            Assert.AreEqual(1,
                            sut.Fees.Count());
        }
        public void Calulate_CallsFeeCalculator_WhenCalled()
        {
            // Arrange
            var calculator = Substitute.For <IFeeCalculator>();

            calculator.Calulate(new IFee[0]).ReturnsForAnyArgs(123);
            VehicleFees sut = CreateSut(calculator);

            // Act
            int actual = sut.Calulate();

            // Assert
            Assert.AreEqual(123,
                            actual);
        }
Ejemplo n.º 10
0
        public void AddFee_AddsFeeToFees_ForGivenFee()
        {
            // Arrange
            var         fee        = Substitute.For <IFee>();
            var         calculator = Substitute.For <IFeeCalculator>();
            VehicleFees sut        = CreateSut(calculator);

            // Act
            sut.AddFee(fee);

            // Assert
            IFee actual = sut.Fees.First();

            Assert.AreEqual(fee,
                            actual);
        }
Ejemplo n.º 11
0
 public bool ContainsFee(IFee fee)
 {
     return(VehicleFees.ContainsFee(fee));
 }
Ejemplo n.º 12
0
 public void AddFee(IFee fee)
 {
     VehicleFees.AddFee(fee);
 }
Ejemplo n.º 13
0
 public void PaysFee()
 {
     VehicleFees.FeeIsPaid();
 }