public void plantMines() { CGenerator gen = new CGenerator(); gen.field = new int[5, 5]; gen.plantMines(10); int mines = 0; for (int i = 0; i < gen.field.GetLength(0); i++) { for (int j = 0; j < gen.field.GetLength(1); j++) { if (gen.field[i, j] == -1) { mines++; } } } Assert.AreEqual(10, mines); bool isBroken = false; for (int i = 0; i < gen.field.GetLength(0); i++) { for (int j = 0; j < gen.field.GetLength(1); j++) { if (gen.isBroken(i, j) == true) { isBroken = true; } } } Assert.AreEqual(false, isBroken); var ex2 = Assert.Throws <ArgumentException>(() => gen.plantMines(20)); Assert.That(ex2.Message, Is.EqualTo("МНОГО МИН")); var ex3 = Assert.Throws <ArgumentException>(() => gen.plantMines(2)); Assert.That(ex3.Message, Is.EqualTo("МАЛО МИН")); }
private void b1_Click(object sender, RoutedEventArgs e) { h = 0; setka.Children.Clear(); setka.IsEnabled = true; // gen.init(5); gen.plantMines(q); gen.calculate(); //указыается количество строк и столбцов в сетке setka.Rows = 5; setka.Columns = 5; //указываются размеры сетки (число ячеек * (размер кнопки в ячейки + толщина её границ)) setka.Width = 5 * (70 + 4); setka.Height = 5 * (70 + 4); //толщина границ сетки setka.Margin = new Thickness(3); this.Width = 5 * 80; this.Height = 6 * 92; for (int i = 0; i < 5 * 5; i++) { //создание кнопки Button btn = new Button(); //запись номера кнопки btn.Tag = i; //установка размеров кнопки btn.Width = 65; //btn.Background = Brushes.CadetBlue; btn.Height = 65; //текст на кнопке btn.Content = " "; //толщина границ кнопки btn.Margin = new Thickness(1); //при нажатии кнопки, будет вызываться метод Btn_Click btn.Click += Btn_Click; //добавление кнопки в сетку setka.Children.Add(btn); } }