Пример #1
0
        public void Construct_FromRows_SetsPropertyValues()
        {
            Word4[]   rows = new Word4[] { new Word4("abcd"), new Word4("efgh"), new Word4("ijkl"), new Word4("mnop") };
            Word4Grid grid = new Word4Grid(rows[0], rows[1], rows[2], rows[3]);

            Assert.Equal('a', grid.A00);
            Assert.Equal('b', grid.A01);
            Assert.Equal('c', grid.A02);
            Assert.Equal('d', grid.A03);
            Assert.Equal('e', grid.A10);
            Assert.Equal('f', grid.A11);
            Assert.Equal('g', grid.A12);
            Assert.Equal('h', grid.A13);
            Assert.Equal('i', grid.A20);
            Assert.Equal('j', grid.A21);
            Assert.Equal('k', grid.A22);
            Assert.Equal('l', grid.A23);
            Assert.Equal('m', grid.A30);
            Assert.Equal('n', grid.A31);
            Assert.Equal('o', grid.A32);
            Assert.Equal('p', grid.A33);

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

            Assert.Equal(new Word4("aeim"), grid.Column1);
            Assert.Equal(new Word4("bfjn"), grid.Column2);
            Assert.Equal(new Word4("cgko"), grid.Column3);
            Assert.Equal(new Word4("dhlp"), grid.Column4);
        }
Пример #2
0
        public void Construct_FromChars_SetsPropertyValues()
        {
            Word4 c = new Word4('a', 'b', 'c', 'd');

            Assert.Equal('a', c.L1);
            Assert.Equal('b', c.L2);
            Assert.Equal('c', c.L3);
            Assert.Equal('d', c.L4);
        }
Пример #3
0
        public void Construct_FromString_SetsPropertyValues()
        {
            Word4 c = new Word4("abcd");

            Assert.Equal('a', c.L1);
            Assert.Equal('b', c.L2);
            Assert.Equal('c', c.L3);
            Assert.Equal('d', c.L4);
        }
Пример #4
0
        public void Construct_WordSequence_AddsToTrie()
        {
            Word4 w1 = new Word4("aaaa");
            Word4 w2 = new Word4("zzzz");

            Word4Trie trie = new Word4Trie(new Word4[] { w1, w2 });

            Assert.True(trie.Contains(w1));
            Assert.True(trie.Contains(w2));
        }
Пример #5
0
        public void Transpose_CreatesRowAndColumnSwappedGrid()
        {
            Word4[]   rows = new Word4[] { new Word4("abcd"), new Word4("efgh"), new Word4("ijkl"), new Word4("mnop") };
            Word4Grid grid = new Word4Grid(rows[0], rows[1], rows[2], rows[3]);

            Word4Grid gridT = grid.Transpose();

            Assert.Equal(new Word4("aeim"), gridT.Row1);
            Assert.Equal(new Word4("bfjn"), gridT.Row2);
            Assert.Equal(new Word4("cgko"), gridT.Row3);
            Assert.Equal(new Word4("dhlp"), gridT.Row4);
        }
Пример #6
0
        public void Equals_ComparesCorrectly()
        {
            Word4[]   rows   = new Word4[] { new Word4("abcd"), new Word4("efgh"), new Word4("ijkl"), new Word4("mnop") };
            Word4Grid grid1a = new Word4Grid(rows[0], rows[1], rows[2], rows[3]);
            Word4Grid grid1b = new Word4Grid(rows[0], rows[1], rows[2], rows[3]);
            Word4Grid grid2  = new Word4Grid(rows[0], rows[1], rows[2], rows[2]);

            Assert.True(grid1a.Equals(grid1b));
            Assert.True(grid1b.Equals(grid1a));
            Assert.False(grid1b.Equals(grid2));
            Assert.False(grid2.Equals(grid1a));
        }
Пример #7
0
        public void GetHashCode_UniqueUnlessValuesAreEqual()
        {
            Word4 one  = new Word4("onea");
            Word4 oneA = new Word4("onea");
            Word4 two  = new Word4("twoa");
            Word4 twoA = new Word4("twoa");

            int c1  = one.GetHashCode();
            int c2  = two.GetHashCode();
            int c1a = oneA.GetHashCode();
            int c2a = twoA.GetHashCode();

            Assert.Equal(c1, c1a);
            Assert.Equal(c2, c2a);
            Assert.NotEqual(c1, c2);
        }
Пример #8
0
        public void Equals_ComparesCorrectly()
        {
            Word4  one  = new Word4("onea");
            Word4  oneA = new Word4("onea");
            Word4  two  = new Word4("twoa");
            Word4  twoA = new Word4("twoa");
            object twoO = two;

            Assert.True(one.Equals(oneA));
            Assert.True(oneA.Equals(one));
            Assert.True(two.Equals(twoA));
            Assert.True(twoA.Equals(two));
            Assert.True(two.Equals(twoO));

            Assert.False(one.Equals(two));
            Assert.False(two.Equals(one));
            Assert.False(two.Equals(null));
        }
Пример #9
0
        public void CompareTo_ComparesCorrectly()
        {
            Word4 one   = new Word4("aaaa");
            Word4 two   = new Word4("aaab");
            Word4 three = new Word4("baaa");
            Word4 four  = new Word4("bbaa");
            Word4 five  = new Word4("bbba");

            Assert.True(one.CompareTo(one) == 0);
            Assert.True(one.CompareTo(two) < 0);
            Assert.True(one.CompareTo(three) < 0);
            Assert.True(one.CompareTo(four) < 0);
            Assert.True(one.CompareTo(five) < 0);

            Assert.True(two.CompareTo(one) > 0);
            Assert.True(two.CompareTo(two) == 0);
            Assert.True(two.CompareTo(three) < 0);
            Assert.True(two.CompareTo(four) < 0);
            Assert.True(two.CompareTo(five) < 0);

            Assert.True(three.CompareTo(one) > 0);
            Assert.True(three.CompareTo(two) > 0);
            Assert.True(three.CompareTo(three) == 0);
            Assert.True(three.CompareTo(four) < 0);
            Assert.True(three.CompareTo(five) < 0);

            Assert.True(four.CompareTo(one) > 0);
            Assert.True(four.CompareTo(two) > 0);
            Assert.True(four.CompareTo(three) > 0);
            Assert.True(four.CompareTo(four) == 0);
            Assert.True(four.CompareTo(five) < 0);

            Assert.True(five.CompareTo(one) > 0);
            Assert.True(five.CompareTo(two) > 0);
            Assert.True(five.CompareTo(three) > 0);
            Assert.True(five.CompareTo(four) > 0);
            Assert.True(five.CompareTo(five) == 0);
        }
Пример #10
0
        public void ToString_ReturnsWord()
        {
            Word4 word = new Word4("abcd");

            Assert.Equal("abcd", word.ToString());
        }