public void Input2Test()
    {
        var items = new List <IItem> {
            new Food("Bottle of Chocolates", 10.00M, 1, true),
            new Other("Bottle of Perfume", 47.50M, 1, true)
        };

        var visitor = new ItemCostWithTaxVisitor();

        Assert.AreEqual(10.50, items[0].Accept(visitor));
        Assert.AreEqual(54.65, items[1].Accept(visitor));
    }
    public void Input1Test()
    {
        var items = new List <IItem> {
            new Book("Book", 12.49M, 1, false),
            new Other("Music CD", 14.99M, 1, false),
            new Food("Chocolate Bar", 0.85M, 1, false)
        };

        var visitor = new ItemCostWithTaxVisitor();

        Assert.AreEqual(12.49, items[0].Accept(visitor));
        Assert.AreEqual(16.49, items[1].Accept(visitor));
        Assert.AreEqual(0.85, items[2].Accept(visitor));
    }
    public void Input3Test()
    {
        var items = new List <IItem> {
            new Other("Bottle of Perfume", 27.99M, 1, true),
            new Other("Bottle of Perfume", 18.99M, 1, false),
            new Medicine("Packet of headache pills", 9.75M, 1, false),
            new Food("Box of Chocolate", 11.25M, 1, true)
        };

        var visitor = new ItemCostWithTaxVisitor();

        Assert.AreEqual(32.19, items[0].Accept(visitor));
        Assert.AreEqual(20.89, items[1].Accept(visitor));
        Assert.AreEqual(9.75, items[2].Accept(visitor));
        Assert.AreEqual(11.80, items[3].Accept(visitor));
    }