Exemplo n.º 1
0
        public void CalculatePriceWithTaxForLiquorItem()
        {
            ITaxVisitor taxCalculator = new TaxVisitor();

            var vodca = new LiquorItem(70);

            Assert.AreEqual(94, vodca.Accept(taxCalculator));
        }
Exemplo n.º 2
0
        public void CalculatePriceWithTaxForTobaccoItem()
        {
            ITaxVisitor taxCalculator = new TaxVisitor();

            var LM = new TobaccoItem(30);

            Assert.AreEqual(52, LM.Accept(taxCalculator));
        }
Exemplo n.º 3
0
        public void CalculatePriceWithTaxForNecessityItem()
        {
            ITaxVisitor taxCalculator = new TaxVisitor();

            var eggs = new NecessityItem(12);

            Assert.AreEqual(12, eggs.Accept(taxCalculator));
        }
Exemplo n.º 4
0
        static void Main(string[] args)
        {
            var bread = new Necessity(3.50);

            TaxVisitor necessityTaxCalculator = new TaxVisitor(0.06);

            Console.WriteLine($"Bread price before tax: ${bread.Price}");
            Console.ReadLine();

            bread.Accept(necessityTaxCalculator);

            Console.WriteLine($"Bread price with tax: ${bread.Price}");
            Console.ReadLine();

            var        bourbon             = new Liquor(25.00);
            TaxVisitor liquorTaxCalculator = new TaxVisitor(0.18);

            Console.WriteLine($"Bourbon price before tax: ${bourbon.Price}");
            Console.ReadLine();

            bourbon.Accept(liquorTaxCalculator);

            Console.WriteLine($"Bourbon price with tax: ${bourbon.Price}");
            Console.ReadLine();

            var        cigar = new Tobacco(8.50);
            TaxVisitor tobaccoTaxCalculator = new TaxVisitor(0.33);

            Console.WriteLine($"Cigar price before tax: ${cigar.Price}");
            Console.ReadLine();

            cigar.Accept(tobaccoTaxCalculator);

            Console.WriteLine($"Cigar price with tax: ${cigar.Price}");
            Console.ReadLine();

            Console.WriteLine("MEMORIAL DAY SALE! 10% OFF!");
            Console.ReadLine();

            SaleVisitor memorialDaySaleCalculator = new SaleVisitor(0.10);

            bread.Accept(memorialDaySaleCalculator);
            bourbon.Accept(memorialDaySaleCalculator);
            cigar.Accept(memorialDaySaleCalculator);

            Console.WriteLine($"Bread memorial day sale price: ${bread.Price}");
            Console.WriteLine($"Bourbon memorial day sale price: ${bourbon.Price}");
            Console.WriteLine($"Cigar memorial day sale price: ${cigar.Price}");

            Console.ReadLine();
        }