public void ClearTest() { var actual = _symbolTable.IsEmpty(); Assert.IsFalse(actual); _symbolTable.Clear(); actual = _symbolTable.IsEmpty(); Assert.IsTrue(actual); }
public void DeleteTest() { // clear all entries _symbolTable.Delete("she"); _symbolTable.Delete("sells"); _symbolTable.Delete("sea"); _symbolTable.Delete("shells"); _symbolTable.Delete("by"); _symbolTable.Delete("the"); _symbolTable.Delete("sea"); _symbolTable.Delete("shore"); _symbolTable.Delete("a"); var expected = 0; object actual = _symbolTable.GetSize(); Assert.AreEqual(expected, actual); InitSymbolTable(); _symbolTable.Delete("by"); Assert.ThrowsException <KeyNotFoundException>(() => _symbolTable.Get("by")); _symbolTable.Delete("shore"); Assert.ThrowsException <KeyNotFoundException>(() => _symbolTable.Get("shore")); expected = 3; actual = _symbolTable.Get("shells"); Assert.AreEqual(expected, actual); expected = 6; actual = _symbolTable.Get("sea"); Assert.AreEqual(expected, actual); _symbolTable.Delete("sea"); expected = 1; actual = _symbolTable.Get("sells"); Assert.AreEqual(expected, actual); // invalid entry _symbolTable.Delete("by"); Assert.ThrowsException <KeyNotFoundException>(() => _symbolTable.Get("by")); // delete root _symbolTable.Clear(); _symbolTable.Put("a", 0); _symbolTable.Delete("a"); Assert.ThrowsException <KeyNotFoundException>(() => _symbolTable.Get("a")); expected = 0; actual = _symbolTable.GetSize(); Assert.AreEqual(expected, actual); }