示例#1
0
        public void WriteBlocks_CallsFuncForEachBlock()
        {
            Word3Grid grid = new Word3Grid(new Word3("abc"), new Word3("efg"), new Word3("ijk"));

            List <string> blocks = new List <string>();

            grid.WriteBlock(b => blocks.Add(b));

            Assert.Equal(new string[] { "abc", "efg", "ijk" }, blocks.ToArray());
        }
示例#2
0
        public void Transpose_CreatesRowAndColumnSwappedGrid()
        {
            Word3[]   rows = new Word3[] { new Word3("abc"), new Word3("efg"), new Word3("ijk") };
            Word3Grid grid = new Word3Grid(rows[0], rows[1], rows[2]);

            Word3Grid gridT = grid.Transpose();

            Assert.Equal(new Word3("aei"), gridT.Row1);
            Assert.Equal(new Word3("bfj"), gridT.Row2);
            Assert.Equal(new Word3("cgk"), gridT.Row3);
        }
示例#3
0
        public void Equals_ComparesCorrectly()
        {
            Word3[]   rows   = new Word3[] { new Word3("abc"), new Word3("efg"), new Word3("ijk") };
            Word3Grid grid1a = new Word3Grid(rows[0], rows[1], rows[2]);
            Word3Grid grid1b = new Word3Grid(rows[0], rows[1], rows[2]);
            Word3Grid grid2  = new Word3Grid(rows[0], rows[1], rows[1]);

            Assert.True(grid1a.Equals(grid1b));
            Assert.True(grid1b.Equals(grid1a));
            Assert.False(grid1b.Equals(grid2));
            Assert.False(grid2.Equals(grid1a));
        }
示例#4
0
        public void Crunch_FirstColumnAndRowEqualButSecondColumnGreater_ReturnsRowIndexesFirst()
        {
            Word3Grid           grid  = new Word3Grid(new Word3("abc"), new Word3("baa"), new Word3("cza"));
            SortedTable <Word3> table = new SortedTable <Word3>();

            table.Add(new Word3("abc"));
            table.Add(new Word3("baa"));
            table.Add(new Word3("baz"));
            table.Add(new Word3("caa"));
            table.Add(new Word3("cza"));

            Word3GridCruncher cruncher     = new Word3GridCruncher(table);
            CrunchedWord3Grid crunchedGrid = cruncher.Crunch(grid);

            CrunchedWord3Grid expectedGrid = new CrunchedWord3Grid(Idx(1), Idx(2), Idx(5), Idx(1), Idx(3), Idx(4));

            Assert.Equal(expectedGrid, crunchedGrid);
        }
示例#5
0
        public void Crunch_ColumnsLessThanRows_ReturnsColumnIndexesFirst()
        {
            Word3Grid           grid  = new Word3Grid(new Word3("zbc"), new Word3("aef"), new Word3("ahi"));
            SortedTable <Word3> table = new SortedTable <Word3>();

            table.Add(new Word3("aef"));
            table.Add(new Word3("ahi"));
            table.Add(new Word3("beh"));
            table.Add(new Word3("cfi"));
            table.Add(new Word3("zaa"));
            table.Add(new Word3("zbc"));

            Word3GridCruncher cruncher     = new Word3GridCruncher(table);
            CrunchedWord3Grid crunchedGrid = cruncher.Crunch(grid);

            CrunchedWord3Grid expectedGrid = new CrunchedWord3Grid(Idx(5), Idx(3), Idx(4), Idx(6), Idx(1), Idx(2));

            Assert.Equal(expectedGrid, crunchedGrid);
        }
示例#6
0
        public void Construct_FromRows_SetsPropertyValues()
        {
            Word3[]   rows = new Word3[] { new Word3("abc"), new Word3("efg"), new Word3("ijk") };
            Word3Grid grid = new Word3Grid(rows[0], rows[1], rows[2]);

            Assert.Equal('a', grid.A00);
            Assert.Equal('b', grid.A01);
            Assert.Equal('c', grid.A02);
            Assert.Equal('e', grid.A10);
            Assert.Equal('f', grid.A11);
            Assert.Equal('g', grid.A12);
            Assert.Equal('i', grid.A20);
            Assert.Equal('j', grid.A21);
            Assert.Equal('k', grid.A22);

            Assert.Equal(rows[0], grid.Row1);
            Assert.Equal(rows[1], grid.Row2);
            Assert.Equal(rows[2], grid.Row3);

            Assert.Equal(new Word3("aei"), grid.Column1);
            Assert.Equal(new Word3("bfj"), grid.Column2);
            Assert.Equal(new Word3("cgk"), grid.Column3);
        }
示例#7
0
        public void ToString_OutputsRowsToString()
        {
            Word3Grid grid = new Word3Grid(new Word3("abc"), new Word3("efg"), new Word3("ijk"));

            Assert.Equal("abc\r\nefg\r\nijk", grid.ToString());
        }