Пример #1
0
        public void TestUsedArea()
        {
            Truck truck = new Truck(new Rectangle(5, 6, 5));

            truck.Add(Containers[0]);
            Assert.AreEqual(truck.UsedArea, new Point3D(1.0, 2.0, 1.0));
            truck.Add(Containers[0]);
            Assert.AreEqual(truck.UsedArea, new Point3D(2.0, 4.0, 2.0));
            truck.Add(Containers[2]);
            Assert.AreEqual(truck.UsedArea, new Point3D(3.5, 5.5, 3.5));
            //This won't fit, so the used area should remain the same.
            truck.Add(Containers[0]);
            Assert.AreEqual(truck.UsedArea, new Point3D(3.5, 5.5, 3.5));
        }
Пример #2
0
        public void TestAdd_ShouldAddOne()
        {
            Truck truck = new Truck(new Rectangle(3, 3, 3));

            foreach (var c in Containers)
            {
                truck.Add(c);
            }
            Assert.AreEqual(truck.StoredContainers.Count, 1);
            Assert.AreEqual(truck.Value, Containers[0].Value);
        }
Пример #3
0
        public void TestAdd_ShouldNotAdd()
        {
            Truck truck = new Truck(new Rectangle(1, 1, 1));

            foreach (var c in Containers)
            {
                truck.Add(c);
            }
            Assert.AreEqual(truck.StoredContainers.Count, 0);
            Assert.AreEqual(truck.Value, 0);
        }
Пример #4
0
        public void TestAdd_ShouldAddAll()
        {
            Truck truck = new Truck(new Rectangle(10, 10, 10));

            foreach (var c in Containers)
            {
                truck.Add(c);
            }
            Assert.AreEqual(truck.StoredContainers.Count, 3);
            Assert.AreEqual(truck.Value, Containers.Sum(x => x.Value));

            var ExpectedRectangle = GeneralHelper.GetExpectedRectangle(new Rectangle(10, 10, 10), Containers.ToArray());

            Assert.AreEqual(truck.UnusedVolume, ExpectedRectangle.Volume);
            Assert.AreEqual(truck.Space.Width, ExpectedRectangle.Width);
            Assert.AreEqual(truck.Space.Height, ExpectedRectangle.Height);
            Assert.AreEqual(truck.Space.Length, ExpectedRectangle.Length);
        }