public void PlaatsContainers() { List <int> powerStackRows = new List <int> { 0 }; Ship ship = new Ship(2, 3, 2000000, 120000, powerStackRows); List <IContainer> containerList = new List <IContainer> { new Container(5000, false, false), new Container(5000, false, false), new Container(5000, false, false), new Container(5000, false, false), new Container(5000, false, true), new Container(5000, false, true), new Container(5000, false, true), new Container(5000, true, true), new Container(5000, true, true), new Container(5000, true, false) }; AlgoritmeVerloop algoritme = new AlgoritmeVerloop(); List <IContainer> restContainers = algoritme.PlaatsContainers(ship, containerList); //valuable check Assert.AreEqual(true, ship.GetList()[0][0].HasValuable); Assert.AreEqual(true, ship.GetList()[0][1].HasValuable); Assert.AreEqual(false, ship.GetList()[0][2].HasValuable); Assert.AreEqual(true, ship.GetList()[1][0].HasValuable); Assert.AreEqual(true, ship.GetList()[1][1].HasValuable); Assert.AreEqual(true, ship.GetList()[1][2].HasValuable); //stack height check Assert.AreEqual(2, ship.GetList()[0][0].Height); Assert.AreEqual(2, ship.GetList()[0][1].Height); Assert.AreEqual(1, ship.GetList()[0][2].Height); Assert.AreEqual(2, ship.GetList()[1][0].Height); Assert.AreEqual(2, ship.GetList()[1][1].Height); Assert.AreEqual(1, ship.GetList()[1][2].Height); //weight check Assert.AreEqual(10000, ship.GetList()[0][0].Weight); Assert.AreEqual(10000, ship.GetList()[0][1].Weight); Assert.AreEqual(5000, ship.GetList()[0][2].Weight); Assert.AreEqual(10000, ship.GetList()[1][0].Weight); Assert.AreEqual(10000, ship.GetList()[1][1].Weight); Assert.AreEqual(5000, ship.GetList()[1][2].Weight); //electricity check Assert.AreEqual(true, ship.GetList()[0][0].Electricity); Assert.AreEqual(false, ship.GetList()[0][1].Electricity); Assert.AreEqual(false, ship.GetList()[0][2].Electricity); Assert.AreEqual(true, ship.GetList()[1][0].Electricity); Assert.AreEqual(false, ship.GetList()[1][1].Electricity); Assert.AreEqual(false, ship.GetList()[1][2].Electricity); }
private void btnSorteer_Click(object sender, EventArgs e) { foreach (ListBox listBox in listboxList) { Controls.Remove(listBox); } foreach (Label label in stackInfoLabelList) { Controls.Remove(label); } stackInfoLabelList.Clear(); listboxList.Clear(); AlgoritmeVerloop algoritmeVerloop = new AlgoritmeVerloop(); List <IContainer> containerList = new List <IContainer>(); foreach (IContainer containerItem in lbContainer.Items) { containerList.Add(containerItem); } lbContainer.Items.Clear(); List <IContainer> restContainers = algoritmeVerloop.PlaatsContainers(ship, containerList); foreach (IContainer container in restContainers) { lbContainer.Items.Add(container); } List <List <IStack> > stackList = ship.GetList(); for (int x = 0; x < stackList.Count; x++) { for (int y = 0; y < stackList[x].Count; y++) { ListBox listBox = new ListBox { Width = 120, Height = 60, Left = 150 + (x * 120), Top = 20 + (y * 75), Name = $"{x},{y}" }; Label label = new Label { Text = stackList[x][y].Weight.ToString(), Top = 20 + (y * 75) - 15, Left = 150 + (x * 120) }; foreach (IContainer container in stackList[x][y]) { listBox.Items.Add(container); } listboxList.Add(listBox); stackInfoLabelList.Add(label); } } foreach (ListBox listBox in listboxList) { Controls.Add(listBox); } foreach (Label label in stackInfoLabelList) { Controls.Add(label); } float totaalGewicht = ship.GewichtLinks() + ship.GewichtRechts(); lbBalans.Text = "Balans" + (ship.GewichtLinks() / totaalGewicht) + "/" + (ship.GewichtRechts() / totaalGewicht); }