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); }
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); }
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); }
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); }
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); }
//[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); }
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); }