예제 #1
0
        public void CanAddOrder()
        {
            CalculateTotals calculator = new CalculateTotals();
            OrderManager    manager    = new OrderManager(new OrderRepository(), new ProductRepository(), new TaxesRepository());
            Order           testOrder  = new Order()
            {
                OrderDate              = new DateTime(2020, 01, 01),
                CustomerName           = "Scrooge McDuck",
                State                  = "MN",
                TaxRate                = 2,
                ProductType            = "Tile",
                Area                   = 500,
                CostPerSquareFoot      = 1,
                LaborCostPerSquareFoot = 1
            };

            AddOrderResponse response = manager.addOrder(testOrder, testOrder.OrderDate);

            Assert.AreEqual("Scrooge McDuck", testOrder.CustomerName);
            Assert.AreEqual("MN", testOrder.State);
            Assert.AreEqual("Tile", testOrder.ProductType);
            Assert.AreEqual(500, testOrder.Area);

            //Make sure calculations are made correctly
            Assert.AreEqual(500, calculator.MaterialCost(testOrder));
            Assert.AreEqual(500, calculator.LaborCost(testOrder));
            Assert.AreEqual(20, calculator.Tax(testOrder));
            Assert.AreEqual(1020, calculator.Total(testOrder));
        }
예제 #2
0
        public void FileAdd()
        {
            CalculateTotals     calculator = new CalculateTotals();
            DateTime            orderDate  = DateTime.Parse("06/01/2013");
            FileOrderRepository data       = new FileOrderRepository(_path);

            Order testOrder = new Order()
            {
                OrderDate              = new DateTime(2013, 06, 01),
                CustomerName           = "Scrooge McDuck",
                State                  = "MN",
                TaxRate                = 2,
                ProductType            = "Tile",
                Area                   = 500,
                CostPerSquareFoot      = 1,
                LaborCostPerSquareFoot = 1
            };

            data.AddOrder(testOrder, orderDate);

            Assert.AreEqual("Scrooge McDuck", testOrder.CustomerName);
            Assert.AreEqual(2, testOrder.OrderNumber);
            Assert.AreEqual(500, calculator.MaterialCost(testOrder));
            Assert.AreEqual(500, calculator.LaborCost(testOrder));
            Assert.AreEqual(20, calculator.Tax(testOrder));
            Assert.AreEqual(1020, calculator.Total(testOrder));
        }
예제 #3
0
        public Order PutitAllTogether(Order order)
        {
            CalculateTotals calculator = new CalculateTotals();

            order.MaterialCost = calculator.MaterialCost(order);
            order.LaborCost    = calculator.LaborCost(order);
            order.Tax          = calculator.Tax(order);
            order.Total        = calculator.Total(order);

            return(order);
        }