static void Main(string[] args) { Console.WriteLine("Ship width,length,height"); string result = Console.ReadLine(); string[] values = result.Split(","); var ship = new Ship(Convert.ToInt32(values[0]), Convert.ToInt32(values[0]), Convert.ToInt32(values[0])); Random r = new Random(); var Containers = new List <Container>(); for (int i = 0; i < 5; i++) { var container = new Container(r.Next(4000, 30000), ContainerType.ValuableAndCooled); Containers.Add(container); } for (int i = 0; i < 200; i++) { var container = new Container(r.Next(4000, 30000), ContainerType.Normal); Containers.Add(container); } for (int i = 0; i < 5; i++) { var container = new Container(r.Next(4000, 30000), ContainerType.Valuable); Containers.Add(container); } for (int i = 0; i < 30; i++) { var container = new Container(r.Next(4000, 30000), ContainerType.Cooled); Containers.Add(container); } ContainerDistributor.DistributeContainers(Containers, ship); }
public IShip ParseToDistributor(IShip ship, IList <IContainer> containers) { IContainerDistributor distributor = new ContainerDistributor(ship, containers); IShip iShip = distributor.Distribute(); ShipRuleTester test = new ShipRuleTester(iShip, distributor); Error = (test.TestMaximumWeight() || test.TestMinimumWeight() || test.TestBalance() || test.TestSlotWeightMaxCapacity() || test.TestContainersLeftOver()); Reason = test.Reason; return(iShip); }
public void TestShipFailureMinimumWeight() { IShip FailureShip = new Ship(4, 4, 60000000, containerList); IContainerDistributor nastyDistribute = new ContainerDistributor(FailureShip, containerList); ShipRuleTester ruleTester = new ShipRuleTester(FailureShip, nastyDistribute); bool FailureMinimumWeightTest = ruleTester.TestMinimumWeight(); Assert.IsTrue(FailureMinimumWeightTest); }
public void TestMaxStackWeightSucceed() { int width = 3; int height = 3; IShip originalShip = new Ship(width, height, (width * height) * 150000, containerList); IContainerDistributor distributor = new ContainerDistributor(originalShip, containerList); ShipRuleTester ruleTester = new ShipRuleTester(originalShip, distributor); bool OriginalSlotWeightMaxTest = ruleTester.TestSlotWeightMaxCapacity(); Assert.IsFalse(OriginalSlotWeightMaxTest); }
public void TestMaximumWeightSucceed() { /// <summary> TestRun with original Information</summary> /// <remarks> This test should return true</remarks> int width = 3; int height = 3; IShip originalShip = new Ship(width, height, (width * height) * 150000, containerList); IContainerDistributor distributor = new ContainerDistributor(originalShip, containerList); ShipRuleTester ruleTester = new ShipRuleTester(originalShip, distributor); bool OriginalMaxWeightTest = ruleTester.TestMaximumWeight(); Assert.IsFalse(OriginalMaxWeightTest); }