Exemplo n.º 1
0
        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);
                }
            }
        }
Exemplo n.º 2
0
        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();
        }
Exemplo n.º 3
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);
        }
Exemplo n.º 4
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);
        }
Exemplo n.º 5
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();
        }
Exemplo n.º 6
0
        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();
        }
Exemplo n.º 7
0
        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"));
        }
Exemplo n.º 8
0
        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}>"));
        }
Exemplo n.º 9
0
        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}>"));
        }
Exemplo n.º 10
0
        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>"));
        }
Exemplo n.º 11
0
        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}"));
        }
Exemplo n.º 12
0
 /// <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));
 }
Exemplo n.º 13
0
            /// <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);
            }
Exemplo n.º 14
0
        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}"));
        }
Exemplo n.º 15
0
        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"));
        }
Exemplo n.º 16
0
        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);
                }
            }
        }
Exemplo n.º 17
0
 /// <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);
 }
Exemplo n.º 18
0
        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();
        }
Exemplo n.º 19
0
        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>"));

        }
Exemplo n.º 20
0
 /// <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);
 }