public void Question01ShouldRemoveDuplicatesWithNoBuffer() { var linkedList = new LinkedList <int>(); linkedList.AppendToTail(1); linkedList.AppendToTail(2); linkedList.AppendToTail(2); linkedList.AppendToTail(3); linkedList.AppendToTail(3); Question01 <int> .RemoveDuplicatesNoBuffer(linkedList); var expected = new LinkedList <int>(); expected.AppendToTail(1); expected.AppendToTail(2); expected.AppendToTail(3); int expectedFirst = expected.Head.Value; int expectedSecond = expected.Head.Next.Value; int expectedThird = expected.Head.Next.Next.Value; int actualFirst = linkedList.Head.Value; int actualSecond = linkedList.Head.Next.Value; int actualThird = linkedList.Head.Next.Next.Value; Assert.Equal(expectedFirst, actualFirst); Assert.Equal(expectedSecond, actualSecond); Assert.Equal(expectedThird, actualThird); }
public void Q01TestUniques() { var q = new Question01(); // Should return true Assert.IsTrue(q.IsUniqueAscii("abc")); Assert.IsTrue(q.IsUniqueAscii("")); // Should return false Assert.IsFalse(q.IsUniqueAscii("aa")); Assert.IsFalse(q.IsUniqueAscii("abcdefghijklmnopqrstuvwxyza")); }
public void Question01ShouldMergeSortWithEqualNumbers() { int[] first = new int[] { 10, 25, 43, 199 }; int[] second = new int[] { 10, 25, 43, 199 }; int[] merged = Question01.MergeAndSort(first, second); int[] expected = new int[] { 10, 10, 25, 25, 43, 43, 199, 199 }; Assert.Equal(expected, merged); }
public void Question01ShouldMergeSort() { int[] first = new int[] { 10, 25, 43, 199 }; int[] second = new int[] { 1, 14, 22, 2000 }; int[] merged = Question01.MergeAndSort(first, second); int[] expected = new int[] { 1, 10, 14, 22, 25, 43, 199, 2000 }; Assert.Equal(expected, merged); }
public void Question01ShouldFindUniqueCharacters() { Assert.False(Question01.HasUniqueCharacters("aa")); Assert.False(Question01.HasUniqueCharacters2("aa")); Assert.False(Question01.HasUniqueCharacters("This is just a string")); Assert.False(Question01.HasUniqueCharacters2("This is just a string")); Assert.True(Question01.HasUniqueCharacters("aA")); Assert.True(Question01.HasUniqueCharacters2("aA")); Assert.True(Question01.HasUniqueCharacters("abcdefg")); Assert.True(Question01.HasUniqueCharacters2("abcdefg")); Assert.False(Question01.HasUniqueCharacters(" ")); Assert.False(Question01.HasUniqueCharacters2(" ")); Assert.True(Question01.HasUniqueCharacters(null)); Assert.True(Question01.HasUniqueCharacters2(null)); // Add all ascii characters to a string to check string allAsciiCharacters = ""; for (int i = 0; i <= 255; i++) { char c = (char)i; allAsciiCharacters += c; } Assert.True(Question01.HasUniqueCharacters(allAsciiCharacters)); Assert.True(Question01.HasUniqueCharacters2(allAsciiCharacters)); // Add a duplicate character to check again allAsciiCharacters += (char)0; Assert.False(Question01.HasUniqueCharacters(allAsciiCharacters)); Assert.False(Question01.HasUniqueCharacters2(allAsciiCharacters)); }