Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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));
        }
Пример #4
0
        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);
        }
Пример #5
0
        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);
        }