Beispiel #1
0
    public void TestKnapsack7ItemsCapacity19()
    {
        var items = new Item[]
        {
            new Item {
                Weight = 5, Price = 30
            },
            new Item {
                Weight = 8, Price = 120
            },
            new Item {
                Weight = 7, Price = 10
            },
            new Item {
                Weight = 0, Price = 20
            },
            new Item {
                Weight = 4, Price = 50
            },
            new Item {
                Weight = 5, Price = 80
            },
            new Item {
                Weight = 2, Price = 10
            },
        };
        var knapsackCapacity = 19;

        var itemsTaken  = Knapsack.FillKnapsack(items, knapsackCapacity);
        var totalWeight = itemsTaken.Sum(i => i.Weight);
        var totalPrice  = itemsTaken.Sum(i => i.Price);

        Assert.AreEqual(19, totalWeight);
        Assert.AreEqual(280, totalPrice);
    }
Beispiel #2
0
    public void TestKnapsack1ItemEnoughCapacity()
    {
        var items = new Item[]
        {
            new Item { Weight = 5, Price = 30},
        };
        var knapsackCapacity = 6;

        var itemsTaken = Knapsack.FillKnapsack(items, knapsackCapacity);
        var totalWeight = itemsTaken.Sum(i => i.Weight);
        var totalPrice = itemsTaken.Sum(i => i.Price);
        Assert.AreEqual(5, totalWeight);
        Assert.AreEqual(30, totalPrice);
    }
Beispiel #3
0
    public void TestKnapsack2ItemsUnsufficientCapacity()
    {
        var items = new Item[]
        {
            new Item { Weight = 5, Price = 30},
            new Item { Weight = 10, Price = 55},
        };
        var knapsackCapacity = 3;

        var itemsTaken = Knapsack.FillKnapsack(items, knapsackCapacity);
        var totalWeight = itemsTaken.Sum(i => i.Weight);
        var totalPrice = itemsTaken.Sum(i => i.Price);
        Assert.AreEqual(0, totalWeight);
        Assert.AreEqual(0, totalPrice);
    }