public void Crunch_FirstAndSecondColumnAndRowEqualButThirdRowGreater_ReturnsColumnIndexesFirst() { Word4Grid grid = new Word4Grid(new Word4("abcd"), new Word4("bcde"), new Word4("cdaz"), new Word4("deaa")); SortedTable <Word4> table = new SortedTable <Word4>(); table.Add(new Word4("abcd")); table.Add(new Word4("bcde")); table.Add(new Word4("cdaa")); table.Add(new Word4("cdaz")); table.Add(new Word4("deaa")); table.Add(new Word4("deza")); Word4GridCruncher cruncher = new Word4GridCruncher(table); CrunchedWord4Grid crunchedGrid = cruncher.Crunch(grid); CrunchedWord4Grid expectedGrid = new CrunchedWord4Grid(Idx(1), Idx(2), Idx(3), Idx(6), Idx(1), Idx(2), Idx(4), Idx(5)); Assert.Equal(expectedGrid, crunchedGrid); }
public void Crunch_FirstColumnAndRowEqualButSecondColumnGreater_ReturnsRowIndexesFirst() { Word4Grid grid = new Word4Grid(new Word4("abcd"), new Word4("baaa"), new Word4("czaa"), new Word4("dzaa")); SortedTable <Word4> table = new SortedTable <Word4>(); table.Add(new Word4("abcd")); table.Add(new Word4("baaa")); table.Add(new Word4("bazz")); table.Add(new Word4("caaa")); table.Add(new Word4("czaa")); table.Add(new Word4("daaa")); table.Add(new Word4("dzaa")); Word4GridCruncher cruncher = new Word4GridCruncher(table); CrunchedWord4Grid crunchedGrid = cruncher.Crunch(grid); CrunchedWord4Grid expectedGrid = new CrunchedWord4Grid(Idx(1), Idx(2), Idx(5), Idx(7), Idx(1), Idx(3), Idx(4), Idx(6)); Assert.Equal(expectedGrid, crunchedGrid); }
public void Equals_ComparesCorrectly() { CrunchedWord4Grid grid1 = new CrunchedWord4Grid(Idx(1), Idx(2), Idx(3), Idx(4), Idx(5), Idx(6), Idx(7), Idx(8)); CrunchedWord4Grid grid2 = new CrunchedWord4Grid(Idx(1), Idx(1), Idx(2), Idx(3), Idx(4), Idx(5), Idx(6), Idx(7)); CrunchedWord4Grid grid3 = new CrunchedWord4Grid(Idx(1), Idx(1), Idx(1), Idx(2), Idx(3), Idx(4), Idx(5), Idx(6)); CrunchedWord4Grid grid4 = new CrunchedWord4Grid(Idx(1), Idx(1), Idx(1), Idx(1), Idx(2), Idx(3), Idx(4), Idx(5)); CrunchedWord4Grid grid5 = new CrunchedWord4Grid(Idx(1), Idx(1), Idx(1), Idx(1), Idx(1), Idx(2), Idx(3), Idx(4)); CrunchedWord4Grid grid6 = new CrunchedWord4Grid(Idx(1), Idx(1), Idx(1), Idx(1), Idx(1), Idx(1), Idx(2), Idx(3)); CrunchedWord4Grid grid7 = new CrunchedWord4Grid(Idx(1), Idx(1), Idx(1), Idx(1), Idx(1), Idx(1), Idx(1), Idx(2)); CrunchedWord4Grid grid8 = new CrunchedWord4Grid(Idx(1), Idx(1), Idx(1), Idx(1), Idx(1), Idx(1), Idx(1), Idx(1)); Assert.True(grid1.Equals(grid1)); Assert.False(grid1.Equals(grid2)); Assert.False(grid2.Equals(grid3)); Assert.False(grid3.Equals(grid4)); Assert.False(grid4.Equals(grid5)); Assert.False(grid5.Equals(grid6)); Assert.False(grid6.Equals(grid7)); Assert.False(grid7.Equals(grid8)); Assert.True(grid8.Equals(grid8)); }
public void Crunch_ColumnsLessThanRows_ReturnsColumnIndexesFirst() { Word4Grid grid = new Word4Grid(new Word4("zbcd"), new Word4("aefg"), new Word4("ahij"), new Word4("aklm")); SortedTable <Word4> table = new SortedTable <Word4>(); table.Add(new Word4("aefg")); table.Add(new Word4("ahij")); table.Add(new Word4("aklm")); table.Add(new Word4("behk")); table.Add(new Word4("cfil")); table.Add(new Word4("dgjm")); table.Add(new Word4("zaaa")); table.Add(new Word4("zbcd")); Word4GridCruncher cruncher = new Word4GridCruncher(table); CrunchedWord4Grid crunchedGrid = cruncher.Crunch(grid); CrunchedWord4Grid expectedGrid = new CrunchedWord4Grid(Idx(7), Idx(4), Idx(5), Idx(6), Idx(8), Idx(1), Idx(2), Idx(3)); Assert.Equal(expectedGrid, crunchedGrid); }
public void CompareTo_ComparesCorrectly() { CrunchedWord4Grid grid1 = new CrunchedWord4Grid(Idx(1), Idx(2), Idx(3), Idx(4), Idx(5), Idx(6), Idx(7), Idx(8)); CrunchedWord4Grid grid2 = new CrunchedWord4Grid(Idx(1), Idx(1), Idx(2), Idx(3), Idx(4), Idx(5), Idx(6), Idx(7)); CrunchedWord4Grid grid3 = new CrunchedWord4Grid(Idx(1), Idx(1), Idx(1), Idx(2), Idx(3), Idx(4), Idx(5), Idx(6)); CrunchedWord4Grid grid4 = new CrunchedWord4Grid(Idx(1), Idx(1), Idx(1), Idx(1), Idx(2), Idx(3), Idx(4), Idx(5)); CrunchedWord4Grid grid5 = new CrunchedWord4Grid(Idx(1), Idx(1), Idx(1), Idx(1), Idx(1), Idx(2), Idx(3), Idx(4)); CrunchedWord4Grid grid6 = new CrunchedWord4Grid(Idx(1), Idx(1), Idx(1), Idx(1), Idx(1), Idx(1), Idx(2), Idx(3)); CrunchedWord4Grid grid7 = new CrunchedWord4Grid(Idx(1), Idx(1), Idx(1), Idx(1), Idx(1), Idx(1), Idx(1), Idx(2)); CrunchedWord4Grid grid8 = new CrunchedWord4Grid(Idx(1), Idx(1), Idx(1), Idx(1), Idx(1), Idx(1), Idx(1), Idx(1)); Assert.True(grid1.CompareTo(grid1) == 0); Assert.True(grid1.CompareTo(grid2) > 0); Assert.True(grid2.CompareTo(grid1) < 0); Assert.True(grid2.CompareTo(grid3) > 0); Assert.True(grid3.CompareTo(grid4) > 0); Assert.True(grid4.CompareTo(grid5) > 0); Assert.True(grid5.CompareTo(grid6) > 0); Assert.True(grid6.CompareTo(grid7) > 0); Assert.True(grid7.CompareTo(grid8) > 0); Assert.True(grid8.CompareTo(grid7) < 0); Assert.True(grid8.CompareTo(grid8) == 0); }