public void ConstractionTestsImpl(IBoxArray <string> box) { box.IsNotNull(); box.Width.Is(0); box.Height.Is(0); box.IsEmpty().Is(true); box.Width = 1; // サイズ(0,0)は許されない box.Width.Is(1); // かならず(1,1)になる box.Height.Is(1); box.IsEmpty().Is(false); box.Width = 2; box.Height = 3; box.Width.Is(2); box.Height.Is(3); // 全要素にアクセスする確認 for (var row = 0; row < box.Height; row++) { for (var col = 0; col < box.Width; col++) { // データを代入して、3通りの方法で読み出してみる var data = $"({col},{row})"; box[col, row] = data; box[col, row].Is(data, "[,] + data"); box.Rows(col).ToList()[row].Is(data, "Rows" + data); box.Cols(row).ToList()[col].Is(data, "Cols" + data); } } }
private void InitValue(IBoxArray <string> box, int width, int height) { box.Width = width; box.Height = height; Loop(box.Height).SelectMany( row => Loop(box.Width), (row, col) => box[col, row] = $"{col},{row}").ToList(); }
public void RemoveRowsErrorTestsImpl(IBoxArray<string> box) { var cols = 2; var rows = 1; this.InitValue(box, cols, rows); var ex = AssertEx.Throws<ArgumentOutOfRangeException>(() => box.RemoveRows(99)); ex.ParamName.Is("row"); box.RemoveRows(0); box.Width.Is(0); box.Height.Is(0); }
public void RemoveRowsErrorTestsImpl(IBoxArray <string> box) { var cols = 2; var rows = 1; this.InitValue(box, cols, rows); var ex = AssertEx.Throws <ArgumentOutOfRangeException>(() => box.RemoveRows(99)); ex.ParamName.Is("row"); box.RemoveRows(0); box.Width.Is(0); box.Height.Is(0); }
void setBox() { if (data.Colored) { ba = new ColoredChooser(); } else { ba = new SimpleIntesity(); } Control c = ba as Control; c.Left = 0; c.Top = 0; pb.Controls.Add(c); fill(); }
void setColorBox() { if (consumer.Colored) { ba = new ColorUI.ColoredChooser(); } else { ba = new ColorUI.SimpleIntesity(); } Control c = ba as Control; c.Left = 0; c.Top = 0; pb.Controls.Add(c); fillColors(); }
public void InsertRowsTestImpl(IBoxArray <string> box) { this.InitValue(box, 2, 3); box.InsertRows(1); box.Height.Is(4); Loop(2).ForEach(c => box[c, 0].Is($"{c},0")); Loop(2).ForEach(c => box[c, 1].Is(default(string))); Loop(2).ForEach(c => box[c, 2].Is($"{c},1")); Loop(2).ForEach(c => box[c, 3].Is($"{c},2")); box.FixedHeight = true; box.InsertRows(1, (c, r) => $"<{c},{r}>"); box.Height.Is(4); Loop(2).ForEach(c => box[c, 0].Is($"{c},0")); Loop(2).ForEach(c => box[c, 1].Is($"<{c},1>")); Loop(2).ForEach(c => box[c, 2].Is(default(string))); Loop(2).ForEach(c => box[c, 3].Is($"{c},1")); }
public void RemoveColsTestsImpl(IBoxArray <string> box) { var cols = 4; var rows = 2; this.InitValue(box, cols, rows); box.RemoveCols(1); // 1列目を削除 box.Width.Is(3); // 列が 4 -> 3 に縮んだ Loop(rows).ForEach(r => box[0, r].Is($"0,{r}")); Loop(rows).ForEach(r => box[1, r].Is($"2,{r}")); Loop(rows).ForEach(r => box[2, r].Is($"3,{r}")); box.FixedWidth = true; // 列数を固定 box.RemoveCols(1, (c, r) => $"<{c},{r}>"); box.Width.Is(3); // 列数は変わらない Loop(rows).ForEach(r => box[0, r].Is($"0,{r}")); Loop(rows).ForEach(r => box[1, r].Is($"3,{r}")); Loop(rows).ForEach(r => box[2, r].Is($"<2,{r}>")); }
public void RemoveColsTestsImpl(IBoxArray<string> box) { var cols = 4; var rows = 2; this.InitValue(box, cols, rows); box.RemoveCols(1); // 1列目を削除 box.Width.Is(3); // 列が 4 -> 3 に縮んだ Loop(rows).ForEach(r => box[0, r].Is($"0,{r}")); Loop(rows).ForEach(r => box[1, r].Is($"2,{r}")); Loop(rows).ForEach(r => box[2, r].Is($"3,{r}")); box.FixedWidth = true; // 列数を固定 box.RemoveCols(1, (c, r) => $"<{c},{r}>"); box.Width.Is(3); // 列数は変わらない Loop(rows).ForEach(r => box[0, r].Is($"0,{r}")); Loop(rows).ForEach(r => box[1, r].Is($"3,{r}")); Loop(rows).ForEach(r => box[2, r].Is($"<2,{r}>")); }
public void RemoveRowsTestsImpl(IBoxArray <string> box) { var cols = 2; var rows = 4; this.InitValue(box, cols, rows); box.RemoveRows(1); // 1行目を削除 box.Height.Is(3); // 行が 4 -> 3 に縮んだ Loop(cols).ForEach(c => box[c, 0].Is($"{c},0")); Loop(cols).ForEach(c => box[c, 1].Is($"{c},2")); Loop(cols).ForEach(c => box[c, 2].Is($"{c},3")); box.FixedHeight = true; // 行数を固定 box.RemoveRows(1, (c, r) => $"<{c},{r}>"); box.Height.Is(3); // 列数は変わらない Loop(cols).ForEach(c => box[c, 0].Is($"{c},0")); Loop(cols).ForEach(c => box[c, 1].Is($"{c},3")); Loop(cols).ForEach(c => box[c, 2].Is($"<{c},2>")); }
public void InsertColsTestImpl(IBoxArray <string> box) { var cols = 3; var rows = 2; this.InitValue(box, cols, rows); // 3列2行 box.Width.Is(3); box.InsertCols(1); // 1列目に挿入 box.Width.Is(4); // 列が 3->4 に伸びた Loop(rows).ForEach(r => box[0, r].Is($"0,{r}")); Loop(rows).ForEach(r => box[1, r].Is(default(string))); Loop(rows).ForEach(r => box[2, r].Is($"1,{r}")); box.FixedWidth = true; // 列数を固定 box.InsertCols(1, (c, r) => $"<{c},{r}>"); box.Width.Is(4); Loop(rows).ForEach(r => box[0, r].Is($"0,{r}")); Loop(rows).ForEach(r => box[1, r].Is($"<1,{r}>")); Loop(rows).ForEach(r => box[2, r].Is(default(string))); Loop(rows).ForEach(r => box[3, r].Is($"1,{r}")); }
/// <summary> /// Gets selected items of comboboxes /// </summary> /// <param name="combo">The comboboxes</param> /// <returns>The items</returns> public static List <string> GetSelected(this IBoxArray combo) { ComboBox[] cb = combo.Boxes; return(GetSelected(cb)); }
/// <summary> /// タイルを初期化する /// </summary> /// <param name="row">最大行</param> /// <param name="column">最大列</param> /// <param name="dbArray">DB から取ってくる情報</param> /// <returns></returns> private IBoxArray[,] InitTile(int row, int column, List <DBArray> dbArray) { var random = new Random(); var returnArray = new IBoxArray[row, column]; var redCount = 0; var blueCount = 0; var yellowCount = 0; var createdCount = 0; var limitColorCount = (row * column / Common.Common.COLOR_COUNT) + 1; DBArray = dbArray; MaxRow = row; MaxColumn = column; for (int r = 0; r < row;) { for (int c = 0; c < column;) { var type = BoxType.CreateBy((BoxType.BoxColorNum)random.Next(1, BoxType.BoxTypeCount + 1)); switch (type.Num) { case BoxType.BoxColorNum.Red: if (redCount > limitColorCount) { continue; } redCount++; break; case BoxType.BoxColorNum.Blue: if (blueCount > limitColorCount) { continue; } blueCount++; break; case BoxType.BoxColorNum.Yellow: if (yellowCount > limitColorCount) { continue; } yellowCount++; break; } var position = new Vector3(DBArray[createdCount].PositionX, DBArray[createdCount].PositionY, 0); var boxName = new BoxName(r.ToString() + c.ToString()); returnArray[r, c] = BoxArrayFactory.Create(position, type, 0, false, false, null, boxName); c++; createdCount++; } r++; } GroupListArray = MatchBoxes(row, column, returnArray); for (int i = 0; i < GroupListArray.GetLength(0); i++) { if (GroupListArray[i] != null) { foreach (var temp in GroupListArray[i]) { var boxName = new BoxName(temp.X.ToString() + temp.Y.ToString()); returnArray[temp.X, temp.Y] = returnArray[temp.X, temp.Y].SetGroupNum(i); } } } return(returnArray); }
public void InsertColsTestImpl(IBoxArray<string> box) { var cols = 3; var rows = 2; this.InitValue(box, cols, rows); // 3列2行 box.Width.Is(3); box.InsertCols(1); // 1列目に挿入 box.Width.Is(4); // 列が 3->4 に伸びた Loop(rows).ForEach(r => box[0, r].Is($"0,{r}")); Loop(rows).ForEach(r => box[1, r].Is(default(string))); Loop(rows).ForEach(r => box[2, r].Is($"1,{r}")); box.FixedWidth = true; // 列数を固定 box.InsertCols(1, (c, r) => $"<{c},{r}>"); box.Width.Is(4); Loop(rows).ForEach(r => box[0, r].Is($"0,{r}")); Loop(rows).ForEach(r => box[1, r].Is($"<1,{r}>")); Loop(rows).ForEach(r => box[2, r].Is(default(string))); Loop(rows).ForEach(r => box[3, r].Is($"1,{r}")); }
public void InsertRowsTestImpl(IBoxArray<string> box) { this.InitValue(box, 2, 3); box.InsertRows(1); box.Height.Is(4); Loop(2).ForEach(c => box[c, 0].Is($"{c},0")); Loop(2).ForEach(c => box[c, 1].Is(default(string))); Loop(2).ForEach(c => box[c, 2].Is($"{c},1")); Loop(2).ForEach(c => box[c, 3].Is($"{c},2")); box.FixedHeight = true; box.InsertRows(1, (c, r) => $"<{c},{r}>"); box.Height.Is(4); Loop(2).ForEach(c => box[c, 0].Is($"{c},0")); Loop(2).ForEach(c => box[c, 1].Is($"<{c},1>")); Loop(2).ForEach(c => box[c, 2].Is(default(string))); Loop(2).ForEach(c => box[c, 3].Is($"{c},1")); }
public void ConstractionTestsImpl(IBoxArray<string> box) { box.IsNotNull(); box.Width.Is(0); box.Height.Is(0); box.IsEmpty().Is(true); box.Width = 1; // サイズ(0,0)は許されない box.Width.Is(1); // かならず(1,1)になる box.Height.Is(1); box.IsEmpty().Is(false); box.Width = 2; box.Height = 3; box.Width.Is(2); box.Height.Is(3); // 全要素にアクセスする確認 for (var row = 0; row < box.Height; row++) { for (var col = 0; col < box.Width; col++) { // データを代入して、3通りの方法で読み出してみる var data = $"({col},{row})"; box[col, row] = data; box[col, row].Is(data, "[,] + data"); box.Rows(col).ToList()[row].Is(data, "Rows" + data); box.Cols(row).ToList()[col].Is(data, "Cols" + data); } } }
/// <summary> /// Selects items of comboboxes /// </summary> /// <param name="boxes">The comboboxes</param> /// <param name="items">The items</param> public static void SelectCombo(this IBoxArray boxes, IList <string> items) { ComboBox[] cb = boxes.Boxes; SelectCombo(cb, items); }
private void InitValue(IBoxArray<string> box, int width, int height) { box.Width = width; box.Height = height; Loop(box.Height).SelectMany( row => Loop(box.Width), (row, col) => box[col,row] = $"{col},{row}").ToList(); }
public void RemoveRowsTestsImpl(IBoxArray<string> box) { var cols = 2; var rows = 4; this.InitValue(box, cols, rows); box.RemoveRows(1); // 1行目を削除 box.Height.Is(3); // 行が 4 -> 3 に縮んだ Loop(cols).ForEach(c => box[c, 0].Is($"{c},0")); Loop(cols).ForEach(c => box[c, 1].Is($"{c},2")); Loop(cols).ForEach(c => box[c, 2].Is($"{c},3")); box.FixedHeight = true; // 行数を固定 box.RemoveRows(1, (c, r) => $"<{c},{r}>"); box.Height.Is(3); // 列数は変わらない Loop(cols).ForEach(c => box[c, 0].Is($"{c},0")); Loop(cols).ForEach(c => box[c, 1].Is($"{c},3")); Loop(cols).ForEach(c => box[c, 2].Is($"<{c},2>")); }
/// <summary> /// Fills comboboxes /// </summary> /// <param name="boxes">Array of coboboxes</param> /// <param name="list">List of items</param> public static void FillCombo(this IBoxArray boxes, IEnumerable <string> list) { ComboBox[] combo = boxes.Boxes; FillCombo(combo, list); }