Minor refactorings and code style changes. 1) Removed several use of raw types 2) Removed unnecessary throws clauses 3) Used lambda expressions wherever applicable 4) Used apt assertion methods for readability 5) Use of try with resources wherever applicable 6) Corrected incorrect order of assertXXX arguments

This commit is contained in:
Narendra Pathai
2018-10-20 17:50:52 +05:30
parent 2f569d670a
commit 543eb9a4be
73 changed files with 207 additions and 298 deletions

View File

@ -50,49 +50,49 @@ class BstIteratorTest {
@Test
void nextForEmptyTree() {
BstIterator iter = new BstIterator<>(emptyRoot);
BstIterator<Integer> iter = new BstIterator<>(emptyRoot);
assertThrows(NoSuchElementException.class, iter::next,
"next() should throw an IllegalStateException if hasNext() is false.");
}
@Test
void nextOverEntirePopulatedTree() {
BstIterator iter = new BstIterator<>(nonEmptyRoot);
assertEquals(1, iter.next().getVal(), "First Node is 1.");
assertEquals(3, iter.next().getVal(), "Second Node is 3.");
assertEquals(4, iter.next().getVal(), "Third Node is 4.");
assertEquals(5, iter.next().getVal(), "Fourth Node is 5.");
assertEquals(6, iter.next().getVal(), "Fifth Node is 6.");
assertEquals(7, iter.next().getVal(), "Sixth Node is 7.");
BstIterator<Integer> iter = new BstIterator<>(nonEmptyRoot);
assertEquals(Integer.valueOf(1), iter.next().getVal(), "First Node is 1.");
assertEquals(Integer.valueOf(3), iter.next().getVal(), "Second Node is 3.");
assertEquals(Integer.valueOf(4), iter.next().getVal(), "Third Node is 4.");
assertEquals(Integer.valueOf(5), iter.next().getVal(), "Fourth Node is 5.");
assertEquals(Integer.valueOf(6), iter.next().getVal(), "Fifth Node is 6.");
assertEquals(Integer.valueOf(7), iter.next().getVal(), "Sixth Node is 7.");
}
@Test
void hasNextForEmptyTree() {
BstIterator iter = new BstIterator<>(emptyRoot);
BstIterator<Integer> iter = new BstIterator<>(emptyRoot);
assertFalse(iter.hasNext(), "hasNext() should return false for empty tree.");
}
@Test
void hasNextForPopulatedTree() {
BstIterator iter = new BstIterator<>(nonEmptyRoot);
BstIterator<Integer> iter = new BstIterator<>(nonEmptyRoot);
assertTrue(iter.hasNext(), "hasNext() should return true for populated tree.");
}
@Test
void nextAndHasNextOverEntirePopulatedTree() {
BstIterator iter = new BstIterator<>(nonEmptyRoot);
BstIterator<Integer> iter = new BstIterator<>(nonEmptyRoot);
assertTrue(iter.hasNext(), "Iterator hasNext() should be true.");
assertEquals(1, iter.next().getVal(), "First Node is 1.");
assertEquals(Integer.valueOf(1), iter.next().getVal(), "First Node is 1.");
assertTrue(iter.hasNext(), "Iterator hasNext() should be true.");
assertEquals(3, iter.next().getVal(), "Second Node is 3.");
assertEquals(Integer.valueOf(3), iter.next().getVal(), "Second Node is 3.");
assertTrue(iter.hasNext(), "Iterator hasNext() should be true.");
assertEquals(4, iter.next().getVal(), "Third Node is 4.");
assertEquals(Integer.valueOf(4), iter.next().getVal(), "Third Node is 4.");
assertTrue(iter.hasNext(), "Iterator hasNext() should be true.");
assertEquals(5, iter.next().getVal(), "Fourth Node is 5.");
assertEquals(Integer.valueOf(5), iter.next().getVal(), "Fourth Node is 5.");
assertTrue(iter.hasNext(), "Iterator hasNext() should be true.");
assertEquals(6, iter.next().getVal(), "Fifth Node is 6.");
assertEquals(Integer.valueOf(6), iter.next().getVal(), "Fifth Node is 6.");
assertTrue(iter.hasNext(), "Iterator hasNext() should be true.");
assertEquals(7, iter.next().getVal(), "Sixth Node is 7.");
assertEquals(Integer.valueOf(7), iter.next().getVal(), "Sixth Node is 7.");
assertFalse(iter.hasNext(), "Iterator hasNext() should be false, end of tree.");
}