public void CompareTo_ComparesCorrectly() { Word3 one = new Word3("aaa"); Word3 two = new Word3("aab"); Word3 three = new Word3("baa"); Word3 four = new Word3("bba"); 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(two.CompareTo(one) > 0); Assert.True(two.CompareTo(two) == 0); Assert.True(two.CompareTo(three) < 0); Assert.True(two.CompareTo(four) < 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(four.CompareTo(one) > 0); Assert.True(four.CompareTo(two) > 0); Assert.True(four.CompareTo(three) > 0); Assert.True(four.CompareTo(four) == 0); }
public void Construct_FromChars_SetsPropertyValues() { Word3 c = new Word3('a', 'b', 'c'); Assert.Equal('a', c.L1); Assert.Equal('b', c.L2); Assert.Equal('c', c.L3); }
public void Construct_FromString_SetsPropertyValues() { Word3 c = new Word3("abc"); Assert.Equal('a', c.L1); Assert.Equal('b', c.L2); Assert.Equal('c', c.L3); }
public void Construct_WordSequence_AddsToTrie() { Word3 w1 = new Word3("aaa"); Word3 w2 = new Word3("zzz"); Word3Trie trie = new Word3Trie(new Word3[] { w1, w2 }); Assert.True(trie.Contains(w1)); Assert.True(trie.Contains(w2)); }
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 GetHashCode_UniqueUnlessValuesAreEqual() { Word3 one = new Word3("one"); Word3 oneA = new Word3("one"); Word3 two = new Word3("two"); Word3 twoA = new Word3("two"); 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); }
public void Equals_ComparesCorrectly() { Word3 one = new Word3("one"); Word3 oneA = new Word3("one"); Word3 two = new Word3("two"); Word3 twoA = new Word3("two"); 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)); }
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_ReturnsWord() { Word3 word = new Word3("abc"); Assert.Equal("abc", word.ToString()); }