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()); }
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); }
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)); }
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); }
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); }
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); }
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()); }