Exemple #1
0
        public void WeightMarginRightLeftTest()
        {
            ContainerGenerator generator = new ContainerGenerator();
            Ship ship = new Ship(5, 15, 5, 10);

            List <Container> cooledContainers = generator.GetRandomCooledContainers(50);
            List <Container> normalContainers = generator.GetRandomNormalContainers(250);

            ship.AddContainers(cooledContainers);
            ship.AddContainers(normalContainers);

            ship.PlaceContainers();

            int rightSideWeight = ship.GetRightSideWeight();
            int leftSideWeight  = ship.GetLeftSideWeight();

            float onePercent       = rightSideWeight / 100.0f;
            float bottomPercentage = leftSideWeight / onePercent;

            float difference = bottomPercentage - 100.0f;

            if (difference < 0.0f)
            {
                difference *= -1.0f;
            }

            bool isLowerThanTwenty = difference <= 20.0f;

            Assert.AreEqual(true, isLowerThanTwenty);
        }
Exemple #2
0
        public void EnsureNoValuableIsPlacedOnValuableTest()
        {
            ContainerGenerator generator = new ContainerGenerator();
            Ship ship = new Ship(5, 10, 5, 10);

            List <Container> valuableContainers = generator.GetRandomValuableContainers(100);

            ship.AddContainers(valuableContainers);
            ship.PlaceContainers();

            bool valuableOnTop = true;

            foreach (ContainerStack stack in ship.iContainerStacks)
            {
                if (stack.HasValuableContainer)
                {
                    for (int i = 0; i < stack.iContainers.Count - 1; i++)
                    {
                        if (stack.iContainers[i].Type == ContainerType.Valuable)
                        {
                            valuableOnTop = false;
                            break;
                        }
                    }

                    if (valuableOnTop)
                    {
                        break;
                    }
                }
            }

            Assert.AreEqual(true, valuableOnTop);
        }
Exemple #3
0
        public void AddValuableContainerEvenTest()
        {
            ContainerGenerator generator = new ContainerGenerator();
            Ship ship = new Ship(2, 6, 5, 4);

            ship.AddContainers(generator.GetRandomValuableContainers(5));

            bool actual = ship.PlaceContainers();

            Assert.AreEqual(true, actual);
        }
Exemple #4
0
        public void AddNormalContainersUnevenTest()
        {
            ContainerGenerator generator = new ContainerGenerator();
            Ship ship = new Ship(2, 5, 5, 3);

            ship.AddContainers(generator.GetRandomNormalContainers(15));

            bool actual = ship.PlaceContainers();

            Assert.AreEqual(true, actual);
        }
Exemple #5
0
        public void AddRandomContainersTest()
        {
            ContainerGenerator generator = new ContainerGenerator();
            Ship ship = new Ship(5, 10, 5, 5);

            ship.AddContainers(generator.GetRandomContainers(40));

            bool actual = ship.PlaceContainers();

            Assert.AreEqual(true, actual);
        }
Exemple #6
0
        //[TestMethod]
        public void CheatySheetyPleaseIgnore()
        {
            ContainerGenerator generator = new ContainerGenerator();

            Ship ship = new Ship(5, 19, 5, 11);

            ship.AddContainers(generator.GetRandomNormalContainers(50));
            ship.AddContainers(generator.GetRandomCooledContainers(25));
            ship.AddContainers(generator.GetRandomValuableContainers(15));

            ship.PlaceContainers();
            SheetMaker.ShipToExcelSheet(ship);
        }
Exemple #7
0
        public void CanPlaceContainersTest()
        {
            ContainerGenerator generator = new ContainerGenerator();
            Ship ship = new Ship(5, 10, 5, 12);

            List <Container> cooledContainers   = generator.GetRandomCooledContainers(60);
            List <Container> normalContainers   = generator.GetRandomNormalContainers(100);
            List <Container> valuableContainers = generator.GetRandomValuableContainers(25);

            ship.AddContainers(cooledContainers);
            ship.AddContainers(normalContainers);
            ship.AddContainers(valuableContainers);

            bool actual = ship.PlaceContainers();

            Assert.AreEqual(true, actual);
        }