public void OrderListIndex_IsReturned_WhenDefaultConstructorIsUsed()
        {
            //Arrange
            OrderFunctionality o5 = new OrderFunctionality();
            Order or2             = new Order();

            o5.NewOrder(or2);
            //Act
            //Assert
            Assert.AreEqual(o5.OrderInformation("REF-000-000"), 0);
        }
        public void ProductListIndex_IsReturned_WhenDefaultConstructorIsUsed()
        {
            //Arrange
            OrderFunctionality o3       = new OrderFunctionality();
            Product            product3 = new Product();

            o3.NewProduct(product3);

            //Act
            //Assert
            Assert.AreEqual(o3.ProductInformation("P0000"), 0);
        }
        public void Index_IsNotReturned_WhenProductNotInList()
        {
            //Arrange
            OrderFunctionality o2       = new OrderFunctionality();
            Product            product2 = new Product("1", "Test2", 0.01m);

            o2.NewProduct(product2);

            //Act
            //Assert
            Assert.AreNotEqual(o2.ProductInformation("2"), 0);
        }
        public void Index_IsReturned_WhenProductAdded()
        {
            //Arrange
            OrderFunctionality o1       = new OrderFunctionality();
            Product            product1 = new Product("1", "Test1", 0.01m);

            o1.NewProduct(product1);

            //Act
            //Assert
            Assert.AreEqual(o1.ProductInformation("1"), 0);
        }
        public void OrderListIndex_IsReturned_WhenOrderIsAdded()
        {
            //Arrange
            OrderFunctionality o4 = new OrderFunctionality();
            Order or1             = new Order();

            o4.NewOrder(or1);
            Order or2 = new Order("REF-000-001", "test", "name", "1 High St", "town", "county", "12345", "01/03/2020");

            o4.NewOrder(or2);
            //Act
            //Assert
            Assert.AreEqual(o4.OrderInformation("REF-000-001"), 1);
        }
        public void Quantity_IsReturned_WhenOrderDetailsAdded()
        {
            //Arrange
            OrderFunctionality o10 = new OrderFunctionality();
            OrderDetails       od3 = new OrderDetails("REF-000-000-01", "REF-000-001", "P0000", 1);

            o10.NewOrderDetails(od3);

            //Act
            int i = o10.OrderProducts("REF-000-000-01");

            //Assert
            Assert.AreEqual(o10.OrderQuantity(i), 1);
        }
        public void OrderDate_IsReturned_WhenOrderAdded()
        {
            //Arrange
            OrderFunctionality o9 = new OrderFunctionality();
            Order o3 = new Order("REF-000-001", "test", "name", "1 High St", "town", "county", "12345", "01/04/2025");

            o9.NewOrder(o3);

            //Act
            int i = o9.OrderInformation("REF-000-001");

            //Assert
            Assert.AreEqual(o9.OrderOrderDate(i), "01/04/2025");
        }
        public void CustomerPostcode_IsReturned_WhenOrderAdded()
        {
            //Arrange
            OrderFunctionality o9 = new OrderFunctionality();
            Order o3 = new Order("REF-000-001", "test", "name", "1 High St", "town", "county", "BT71AA", "01/03/2020");

            o9.NewOrder(o3);

            //Act
            int i = o9.OrderInformation("REF-000-001");

            //Assert
            Assert.AreEqual(o9.OrderPostcode(i), "BT71AA");
        }
        public void OrderTotalIsZero_IsReturned_WhenQuantityIsZero()
        {
            //Arrange
            OrderFunctionality o8  = new OrderFunctionality();
            OrderDetails       od1 = new OrderDetails("REF-000-000-01", "REF-000-001", "P0001", 0);

            o8.NewOrderDetails(od1);
            Product product1 = new Product("1", "Test1", 0.01m);

            o8.NewProduct(product1);
            //Act
            //Assert
            Assert.AreEqual(o8.OrderTotal("REF-000-000-01", "1"), 0.00m);
        }
        public void OrderDetailsListIndex_IsReturned_WhenDefaultConstructorIsUsed()
        {
            //Arrange
            OrderFunctionality o7  = new OrderFunctionality();
            OrderDetails       od1 = new OrderDetails();

            o7.NewOrderDetails(od1);
            OrderDetails od2 = new OrderDetails("REF-000-000-01", "REF-000-001", "P0001", 1);

            o7.NewOrderDetails(od2);
            //Act
            //Assert
            Assert.AreEqual(o7.OrderProducts("REF-000-000-01"), 1);
        }
        public void OrderDetailsListIndex_IsReturned_WhenOrderDetailsAreAdded()
        {
            //Arrange
            OrderFunctionality o6  = new OrderFunctionality();
            OrderDetails       od1 = new OrderDetails();

            o6.NewOrderDetails(od1);
            OrderDetails od2 = new OrderDetails("REF-000-000-02", "REF-000-001", "P0001", 1);

            o6.NewOrderDetails(od2);
            //Act
            //Assert
            Assert.AreEqual(o6.OrderProducts("REF-000-000-02"), 1);
        }