package com.gradescope.hw08; import static org.junit.Assert.*; import org.junit.Test; public class UnbalancedBSTMapTest03_getAllKeysInOrder { /* *************** */ // toString tests (tests getAllKeysInOrder) /* *************** */ @Test public void test_toString1(){ // ..... 42 ..... UnbalancedBSTMap myMap = new UnbalancedBSTMap(); myMap.put(new Integer(42), "Dodds"); assertEquals("[42]", myMap.toString()); } @Test public void test_toString2right(){ // Test tree: // ....42.... // ........52 UnbalancedBSTMap myMap = new UnbalancedBSTMap(); myMap.put(new Integer(42), "Dodds"); myMap.put(new Integer(52), "Colleen"); assertEquals("[42, 52]", myMap.toString()); } @Test public void test_toString2left(){ // Test tree: // ....42.... // 26........ UnbalancedBSTMap myMap = new UnbalancedBSTMap(); myMap.put(new Integer(42), "Dodds"); myMap.put(new Integer(26), "Ben"); assertEquals("[26, 42]", myMap.toString()); } @Test public void test_toString3(){ // Test tree: // ....42.... // 26......52 UnbalancedBSTMap myMap = new UnbalancedBSTMap(); myMap.put(new Integer(42), "Dodds"); myMap.put(new Integer(26), "Ben"); myMap.put(new Integer(52), "Colleen"); assertEquals("[26, 42, 52]", myMap.toString()); } @Test public void test_toString4a(){ // Test tree: // ......42...... // ..26......52.. // 18............ UnbalancedBSTMap myMap = new UnbalancedBSTMap(); myMap.put(new Integer(42), "Dodds"); myMap.put(new Integer(26), "Ben"); myMap.put(new Integer(52), "Colleen"); myMap.put(new Integer(18), "Beth"); assertEquals("[18, 26, 42, 52]", myMap.toString()); } @Test public void test_toString4b(){ // Test tree: // ......42...... // ..26......52.. // ....30........ UnbalancedBSTMap myMap = new UnbalancedBSTMap(); myMap.put(new Integer(42), "Dodds"); myMap.put(new Integer(26), "Ben"); myMap.put(new Integer(52), "Colleen"); myMap.put(new Integer(30), "Stone"); assertEquals("[26, 30, 42, 52]", myMap.toString()); } @Test public void test_toString4c(){ // Test tree: // ......42...... // ..26......52.. // ........45.... UnbalancedBSTMap myMap = new UnbalancedBSTMap(); myMap.put(new Integer(42), "Dodds"); myMap.put(new Integer(26), "Ben"); myMap.put(new Integer(52), "Colleen"); myMap.put(new Integer(45), "Julie"); assertEquals("[26, 42, 45, 52]", myMap.toString()); } @Test public void test_toString4d(){ // Test tree: // ......42...... // ..26......52.. // ............60 UnbalancedBSTMap myMap = new UnbalancedBSTMap(); myMap.put(new Integer(42), "Dodds"); myMap.put(new Integer(26), "Ben"); myMap.put(new Integer(52), "Colleen"); myMap.put(new Integer(60), "Ran"); assertEquals("[26, 42, 52, 60]", myMap.toString()); } @Test public void test_toString7(){ // Test tree: // ......42...... // ..26......52.. // 18..30..45..60 UnbalancedBSTMap myMap = new UnbalancedBSTMap(); myMap.put(new Integer(42), "Dodds"); myMap.put(new Integer(26), "Ben"); myMap.put(new Integer(52), "Colleen"); myMap.put(new Integer(60), "Ran"); myMap.put(new Integer(18), "Beth"); myMap.put(new Integer(45), "Julie"); myMap.put(new Integer(30), "Stone"); assertEquals("[18, 26, 30, 42, 45, 52, 60]", myMap.toString()); } /* *************** */ // containsValue tests (tests getAllKeysInOrder) /* *************** */ @Test public void test_containsValue0(){ // empty tree UnbalancedBSTMap myMap = new UnbalancedBSTMap(); assertFalse(myMap.containsValue("Dodds")); assertFalse(myMap.containsValue("Ben")); assertFalse(myMap.containsValue("Colleen")); assertFalse(myMap.containsValue("Ran")); assertFalse(myMap.containsValue("Beth")); assertFalse(myMap.containsValue("Julie")); assertFalse(myMap.containsValue("Stone")); assertFalse(myMap.containsValue("Geoff")); assertFalse(myMap.containsValue("Melissa")); } @Test public void test_containsValue1(){ // ..... 42 ..... UnbalancedBSTMap myMap = new UnbalancedBSTMap(); myMap.put(new Integer(42), "Dodds"); assertTrue(myMap.containsValue("Dodds")); assertFalse(myMap.containsValue("Ben")); assertFalse(myMap.containsValue("Colleen")); assertFalse(myMap.containsValue("Ran")); assertFalse(myMap.containsValue("Beth")); assertFalse(myMap.containsValue("Julie")); assertFalse(myMap.containsValue("Stone")); assertFalse(myMap.containsValue("Geoff")); assertFalse(myMap.containsValue("Melissa")); } @Test public void test_containsValue2right(){ // Test tree: // ....42.... // ........52 UnbalancedBSTMap myMap = new UnbalancedBSTMap(); myMap.put(new Integer(42), "Dodds"); myMap.put(new Integer(52), "Colleen"); assertTrue(myMap.containsValue("Dodds")); assertFalse(myMap.containsValue("Ben")); assertTrue(myMap.containsValue("Colleen")); assertFalse(myMap.containsValue("Ran")); assertFalse(myMap.containsValue("Beth")); assertFalse(myMap.containsValue("Julie")); assertFalse(myMap.containsValue("Stone")); assertFalse(myMap.containsValue("Geoff")); assertFalse(myMap.containsValue("Melissa")); } @Test public void test_containsValue2left(){ // Test tree: // ....42.... // 26........ UnbalancedBSTMap myMap = new UnbalancedBSTMap(); myMap.put(new Integer(42), "Dodds"); myMap.put(new Integer(26), "Ben"); assertTrue(myMap.containsValue("Dodds")); assertTrue(myMap.containsValue("Ben")); assertFalse(myMap.containsValue("Colleen")); assertFalse(myMap.containsValue("Ran")); assertFalse(myMap.containsValue("Beth")); assertFalse(myMap.containsValue("Julie")); assertFalse(myMap.containsValue("Stone")); assertFalse(myMap.containsValue("Geoff")); assertFalse(myMap.containsValue("Melissa")); } @Test public void test_containsValue3(){ // Test tree: // ....42.... // 26......52 UnbalancedBSTMap myMap = new UnbalancedBSTMap(); myMap.put(new Integer(42), "Dodds"); myMap.put(new Integer(26), "Ben"); myMap.put(new Integer(52), "Colleen"); assertTrue(myMap.containsValue("Dodds")); assertTrue(myMap.containsValue("Ben")); assertTrue(myMap.containsValue("Colleen")); assertFalse(myMap.containsValue("Ran")); assertFalse(myMap.containsValue("Beth")); assertFalse(myMap.containsValue("Julie")); assertFalse(myMap.containsValue("Stone")); assertFalse(myMap.containsValue("Geoff")); assertFalse(myMap.containsValue("Melissa")); } @Test public void test_containsValue4a(){ // Test tree: // ......42...... // ..26......52.. // 18............ UnbalancedBSTMap myMap = new UnbalancedBSTMap(); myMap.put(new Integer(42), "Dodds"); myMap.put(new Integer(26), "Ben"); myMap.put(new Integer(52), "Colleen"); myMap.put(new Integer(18), "Beth"); assertTrue(myMap.containsValue("Dodds")); assertTrue(myMap.containsValue("Ben")); assertTrue(myMap.containsValue("Colleen")); assertFalse(myMap.containsValue("Ran")); assertTrue(myMap.containsValue("Beth")); assertFalse(myMap.containsValue("Julie")); assertFalse(myMap.containsValue("Stone")); assertFalse(myMap.containsValue("Geoff")); assertFalse(myMap.containsValue("Melissa")); } @Test public void test_containsValue4b(){ // Test tree: // ......42...... // ..26......52.. // ....30........ UnbalancedBSTMap myMap = new UnbalancedBSTMap(); myMap.put(new Integer(42), "Dodds"); myMap.put(new Integer(26), "Ben"); myMap.put(new Integer(52), "Colleen"); myMap.put(new Integer(30), "Stone"); assertTrue(myMap.containsValue("Dodds")); assertTrue(myMap.containsValue("Ben")); assertTrue(myMap.containsValue("Colleen")); assertFalse(myMap.containsValue("Ran")); assertFalse(myMap.containsValue("Beth")); assertFalse(myMap.containsValue("Julie")); assertTrue(myMap.containsValue("Stone")); assertFalse(myMap.containsValue("Geoff")); assertFalse(myMap.containsValue("Melissa")); } @Test public void test_containsValue4c(){ // Test tree: // ......42...... // ..26......52.. // ........45.... UnbalancedBSTMap myMap = new UnbalancedBSTMap(); myMap.put(new Integer(42), "Dodds"); myMap.put(new Integer(26), "Ben"); myMap.put(new Integer(52), "Colleen"); myMap.put(new Integer(45), "Julie"); assertTrue(myMap.containsValue("Dodds")); assertTrue(myMap.containsValue("Ben")); assertTrue(myMap.containsValue("Colleen")); assertFalse(myMap.containsValue("Ran")); assertFalse(myMap.containsValue("Beth")); assertTrue(myMap.containsValue("Julie")); assertFalse(myMap.containsValue("Stone")); assertFalse(myMap.containsValue("Geoff")); assertFalse(myMap.containsValue("Melissa")); } @Test public void test_containsValue4d(){ // Test tree: // ......42...... // ..26......52.. // ............60 UnbalancedBSTMap myMap = new UnbalancedBSTMap(); myMap.put(new Integer(42), "Dodds"); myMap.put(new Integer(26), "Ben"); myMap.put(new Integer(52), "Colleen"); myMap.put(new Integer(60), "Ran"); assertTrue(myMap.containsValue("Dodds")); assertTrue(myMap.containsValue("Ben")); assertTrue(myMap.containsValue("Colleen")); assertTrue(myMap.containsValue("Ran")); assertFalse(myMap.containsValue("Beth")); assertFalse(myMap.containsValue("Julie")); assertFalse(myMap.containsValue("Stone")); assertFalse(myMap.containsValue("Geoff")); assertFalse(myMap.containsValue("Melissa")); } @Test public void test_containsValue7(){ // Test tree: // ......42...... // ..26......52.. // 18..30..45..60 UnbalancedBSTMap myMap = new UnbalancedBSTMap(); myMap.put(new Integer(42), "Dodds"); myMap.put(new Integer(26), "Ben"); myMap.put(new Integer(52), "Colleen"); myMap.put(new Integer(60), "Ran"); myMap.put(new Integer(18), "Beth"); myMap.put(new Integer(45), "Julie"); myMap.put(new Integer(30), "Stone"); assertTrue(myMap.containsValue("Dodds")); assertTrue(myMap.containsValue("Ben")); assertTrue(myMap.containsValue("Colleen")); assertTrue(myMap.containsValue("Ran")); assertTrue(myMap.containsValue("Beth")); assertTrue(myMap.containsValue("Julie")); assertTrue(myMap.containsValue("Stone")); assertFalse(myMap.containsValue("Geoff")); assertFalse(myMap.containsValue("Melissa")); } /* *************** */ // replacement tests (tests getAllKeysInOrder) /* *************** */ // Test put's replacement (i.e. adding a key that is already in the tree) // Additionally, most tests rely on put @Test public void test_put_replacement1(){ // Test tree: // ......42...... UnbalancedBSTMap myMap = new UnbalancedBSTMap(); myMap.put(new Integer(42), "Dodds"); assertEquals("Dodds", myMap.get(new Integer(42))); myMap.put(new Integer(42), "Beth"); // Replace "Dodds" with "Beth" as the value for 42 assertEquals("Beth", myMap.get(new Integer(42))); assertFalse(myMap.containsValue("Dodds")); assertTrue(myMap.containsValue("Beth")); } @Test public void test_put_replacement2right(){ // Test tree: // ....42.... // ........52 UnbalancedBSTMap myMap = new UnbalancedBSTMap(); myMap.put(new Integer(42), "Dodds"); myMap.put(new Integer(52), "Colleen"); assertEquals("Colleen", myMap.get(new Integer(52))); myMap.put(new Integer(52), "Julie"); // Replace "Colleen" with "Julie" as the value for 52 assertEquals("Julie", myMap.get(new Integer(52))); assertFalse(myMap.containsValue("Colleen")); assertTrue(myMap.containsValue("Julie")); } @Test public void test_put_replacement2left(){ // Test tree: // ....42.... // 26........ UnbalancedBSTMap myMap = new UnbalancedBSTMap(); myMap.put(new Integer(42), "Dodds"); myMap.put(new Integer(26), "Ben"); assertEquals("Ben", myMap.get(new Integer(26))); myMap.put(new Integer(26), "Colleen"); // Replace "Ben" with "Colleen" as the value for 26 assertEquals("Colleen", myMap.get(new Integer(26))); assertFalse(myMap.containsValue("Ben")); assertTrue(myMap.containsValue("Colleen")); } @Test public void test_put_replacement3(){ // Test tree: // ....42.... // 26......52 UnbalancedBSTMap myMap = new UnbalancedBSTMap(); myMap.put(new Integer(42), "Dodds"); myMap.put(new Integer(26), "Ben"); myMap.put(new Integer(52), "Beth"); assertEquals("Ben", myMap.get(new Integer(26))); myMap.put(new Integer(26), "Colleen"); // Replace "Ben" with "Colleen" as the value for 26 assertEquals("Colleen", myMap.get(new Integer(26))); assertFalse(myMap.containsValue("Ben")); assertTrue(myMap.containsValue("Colleen")); } @Test public void test_put_replacement4a(){ // Test tree: // ......42...... // ..26......52.. // 18............ UnbalancedBSTMap myMap = new UnbalancedBSTMap(); myMap.put(new Integer(42), "Dodds"); myMap.put(new Integer(26), "Ben"); myMap.put(new Integer(52), "Colleen"); myMap.put(new Integer(18), "Beth"); assertEquals("Beth", myMap.get(new Integer(18))); myMap.put(new Integer(18), "Julie"); // Replace "Beth" with "Julie" as the value for 18 assertEquals("Julie", myMap.get(new Integer(18))); assertFalse(myMap.containsValue("Beth")); assertTrue(myMap.containsValue("Julie")); } @Test public void test_put_replacement4b(){ // Test tree: // ......42...... // ..26......52.. // ....30........ UnbalancedBSTMap myMap = new UnbalancedBSTMap(); myMap.put(new Integer(42), "Dodds"); myMap.put(new Integer(26), "Ben"); myMap.put(new Integer(52), "Colleen"); myMap.put(new Integer(30), "Stone"); assertEquals("Stone", myMap.get(new Integer(30))); myMap.put(new Integer(30), "Beth"); // Replace "Stone" with "Beth" as the value for 30 assertEquals("Beth", myMap.get(new Integer(30))); assertFalse(myMap.containsValue("Stone")); assertTrue(myMap.containsValue("Beth")); } @Test public void test_put_replacement4c(){ // Test tree: // ......42...... // ..26......52.. // ........45.... UnbalancedBSTMap myMap = new UnbalancedBSTMap(); myMap.put(new Integer(42), "Dodds"); myMap.put(new Integer(26), "Ben"); myMap.put(new Integer(52), "Colleen"); myMap.put(new Integer(45), "Julie"); assertEquals("Colleen", myMap.get(new Integer(52))); myMap.put(new Integer(52), "Julie"); // Replace "Colleen" with "Julie" as the value for 52 assertEquals("Julie", myMap.get(new Integer(52))); assertFalse(myMap.containsValue("Colleen")); assertTrue(myMap.containsValue("Julie")); } }