Esempio n. 1
0
        public void Setup()
        {
            _providerMock = new Mock <Interfaces.IProvider>();
            _providerMock.Setup(x => x.GetBaseTax()).Returns(0.1m);
            _providerMock.Setup(x => x.GetImportTax()).Returns(0.05m);

            taxesCalculator = new Calculator(_providerMock.Object);
        }
        public void Setup()
        {
            var taxRateRetreiver  = new TaxRateRetriever();
            var taxesCalculator   = new TaxesCalculator(taxRateRetreiver);
            var basketItemManager = new BasketItemManager(taxesCalculator);
            var receiptBuilder    = new ReceiptBuilder();

            shoppingBasketService = new ShoppingBasketService(receiptBuilder, basketItemManager);
        }
 public void Ctor_TaxRateRetrieverIsNull_ThrowsException()
 {
     try
     {
         taxesCalculator = new TaxesCalculator(null);
         Assert.Fail();
     }
     catch (ArgumentNullException e)
     {
     }
 }
Esempio n. 4
0
        public void LATTest()
        {
            //Arrange
            var taxesCalculator = new TaxesCalculator();

            //Act
            decimal lat = taxesCalculator.GetISH(1550.00m, 0.03m);

            //Assert
            //LAT% = 3%
            //Reservation Amount = 1550
            //1550.00 * 0.03 = 46.50

            Assert.AreEqual(46.50m, lat);
        }
Esempio n. 5
0
        public void TaxesTest()
        {
            //Arrange
            var taxesCalculator = new TaxesCalculator();

            //Act
            decimal VAT = taxesCalculator.GetIVA(1550.00m);

            //Assert
            //VAT% = 16%
            //Reservation amount = 1550
            //1550.00 * 0.16 = 248.00

            Assert.AreEqual(248.00m, VAT);
        }
Esempio n. 6
0
        public void it_applies_all_the_underlying_tax_calculations()
        {
            var item           = Substitute.For <ICanBeSold>();
            var taxCalculator1 = Substitute.For <ITaxCalculator>();
            var taxCalculator2 = Substitute.For <ITaxCalculator>();

            taxCalculator1.CalculateOn(item).Returns((decimal)10);
            taxCalculator2.CalculateOn(item).Returns((decimal)20);
            var sut = new TaxesCalculator(new List <ITaxCalculator> {
                taxCalculator1, taxCalculator2
            });

            var total = sut.CalculateOn(item);

            total.Should().Be.EqualTo(30);
        }
Esempio n. 7
0
        private static TaxesCalculator BuildTaxesCalculator()
        {
            // IoC
            var taxesCalculator = new TaxesCalculator(
                new List <ITaxCalculator>
            {
                new DutyTaxCalculator(new RoundAndQuantize()),
                new SalesTaxCalculator(new RoundAndQuantize(), new List <Type>
                {
                    typeof(Book),
                    typeof(Food),
                    typeof(MedicalProduct),
                })
            }
                );

            return(taxesCalculator);
        }
Esempio n. 8
0
        public void TotalReservationAmountTest()
        {
            //Arrange
            var taxesCalculator = new TaxesCalculator();

            //Act
            decimal vat = taxesCalculator.GetIVA(1550.00m);
            decimal lat = taxesCalculator.GetISH(1550.00m, 0.03m);
            decimal totalReservationAmount = taxesCalculator.GetTotalReservationAmount(vat, lat, 1550m);

            //Assert
            //VAT = 248
            //LAT = 46.5
            //Reservation Amount = 1550
            //1550.00 + 248 + 46.5 = 1844.5

            Assert.AreEqual(1844.5m, totalReservationAmount);
        }