예제 #1
0
        public void InitValueTests()
        {
            var box = new BoxList <string>();

            this.InitValue(box, 2, 3);
            box.Width.Is(2);
            box.Height.Is(3);
            for (var r = 0; r < box.Height; r++)
            {
                for (var c = 0; c < box.Width; c++)
                {
                    box[c, r].Is($"{c},{r}");
                }
            }
        }
예제 #2
0
        public void ConstructionTest2()
        {
            // インスタンス生成時の、例外テスト

            {
                var obj = new BoxList <int>(0, 0);
                obj.MaxRows.Is(0);
                obj.MaxCols.Is(0);
            }

            AssertEx.Throws <ArgumentOutOfRangeException>(() =>
            {
                var obj = new BoxList <int>(3, 0);
            })
            .ParamName.Is("newCols");

            AssertEx.Throws <ArgumentOutOfRangeException>(() =>
            {
                var obj = new BoxList <int>(0, 3);
            })
            .ParamName.Is("newRows");
        }
예제 #3
0
        public void ConstructionTest()
        {
            TestContext.Run((int maxrow, int maxcol) =>
            {
                var box = new BoxList <int>(maxrow, maxcol);
                box.MaxRows.Is(maxrow);
                box.MaxCols.Is(maxcol);

                // 全要素にアクセスする確認
                for (var row = 0; row < maxrow; row++)
                {
                    for (var col = 0; col < maxcol; col++)
                    {
                        // データを代入して、3通りの方法で読み出してみる
                        var data      = row * 0x1000 + col;
                        box[row, col] = data;
                        box[row, col].Is(data, "[,]");
                        box.Rows(col).ToList()[row].Is(data, "Rows");
                        box.Cols(row).ToList()[col].Is(data, "Cols");
                    }
                }
            });
        }
예제 #4
0
        public void ResizeTest()
        {
            var obj = new BoxList <int>();

            obj.MaxRows.Is(0);      // 作成直後は、サイズが0
            obj.MaxCols.Is(0);

            obj.MaxRows = 3;        // 行を増やした時、
            obj.MaxRows.Is(3);
            obj.MaxCols.Is(1);      // 列が0だと、1に増やす

            obj.MaxRows = 0;        // 行を0にすると、
            obj.MaxRows.Is(0);      // 中身がからになる
            obj.MaxCols.Is(0);

            obj.MaxCols = 3;        // 列も同様
            obj.MaxRows.Is(1);
            obj.MaxCols.Is(3);

            obj.MaxCols = 0;
            obj.MaxRows.Is(0);
            obj.MaxCols.Is(0);
        }