def test_remove(self): elements = ["hola", "adios", "test", "test", "annie"] hs = HashSet(elements) assert hs.contains("annie") == True hs.remove("annie") assert hs.contains("annie") == False with self.assertRaises(ValueError): hs.remove("pamis") # Element does not exist
def test_size(self): hs = HashSet([5, 2, 6, 1, 3]) assert hs.size() == 5 hs.add(42) assert hs.size() == 6 hs.add(21) assert hs.size() == 7 hs.remove(42) assert hs.size() == 6
def test_remove(self): new_set = HashSet(['red', 'brown', 'gray']) assert new_set.__length__() == 3 new_set.remove('brown') assert new_set.__length__() == 2 assert new_set.contains('brown') == False assert new_set.contains('red') == True assert new_set.contains('gray') == True new_set.remove('gray') assert new_set.__length__() == 1 assert new_set.contains('red') == True assert new_set.contains('gray') == False
def Q3(highestInteger): """ Parameter: highestInteger is the max integer to add to the HashSet. 1 - highestInteger. """ hashSet = HashSet([], 100) for number in range(1, highestInteger): hashSet.add(number) # removing 4 - highestInteger for number in range(4, highestInteger): hashSet.remove(number) startTime = time.time() print("3 in hashSet: ", 3 in hashSet) endTime = time.time() elapsedTime = round(endTime - startTime, 10) print("Time to find 3: ", elapsedTime) print("Array length: ", len(hashSet._array))
def test_remove(self): hs = HashSet() assert hs.size == 0 hs.add(0) hs.add(1) hs.add('zero') hs.add('one') assert hs.size == 4 hs.remove(0) assert hs.size == 3 hs.remove(1) == 2 hs.remove('zero') == 1 with self.assertRaises(KeyError): hs.remove('zero') with self.assertRaises(KeyError): hs.remove('0')
def test_remove(self): """Check to see if items can be removed from the HashSet.""" hashset = HashSet() hashset.add('Please') hashset.add('dont') hashset.add('remove') hashset.add('me') assert hashset.size == 4 hashset.remove('Please') hashset.remove('dont') assert hashset.size == 2 self.assertCountEqual(hashset.elements(), ['remove', 'me']) hashset.remove('me') assert hashset.size == 1 with self.assertRaises(KeyError): hashset.remove('NOOOO')
def test_remove(self): hs = HashSet() hs.add('A') hs.add('B') hs.add('C') hs.remove('A') assert hs.contains('A') == False assert hs.size == 2 hs.remove('C') assert hs.contains('C') == False assert hs.size == 1 hs.remove('B') assert hs.contains('B') == False assert hs.size == 0 with self.assertRaises(ValueError): hs.remove('D') # Key never existed hs.remove('A') # Key no longer exists
def test_remove(self): hs = HashSet() hs.add('I') hs.add('V') hs.add('X') assert hs.size == 3 hs.remove('I') hs.remove('X') assert hs.size == 1 with self.assertRaises(KeyError): hs.remove('X') # Key no longer exists with self.assertRaises(KeyError): hs.remove('A') # Key does not exist
def test_add_and_remove(self): elements = [1, 2, 3] hs = HashSet(elements) hs.add(4) hs.add(5) hs.add(6) hs.add(7) assert hs.contains(2) is True assert hs.contains(4) is True assert hs.contains(5) is True assert hs.contains(6) is True assert hs.contains(7) is True assert hs.contains(21) is False hs.remove(7) assert hs.contains(7) is False hs.remove(6) assert hs.contains(6) is False hs.remove(5) assert hs.contains(5) is False hs.remove(4) assert hs.contains(4) is False assert hs.size() == 3
def test_add_remove(self): set = HashSet() set.add('A') assert len(set) == 1 assert set.contains('A') is True set.add('B') assert len(set) == 2 assert set.contains('B') is True set.add('C') assert len(set) == 3 assert set.contains('C') is True set.remove('B') assert len(set) == 2 assert set.contains('B') is False set.remove('A') assert len(set) == 1 assert set.contains('A') is False set.remove('C') assert len(set) == 0 assert set.contains('C') is False with self.assertRaises(ValueError): set.remove('C')
from hashset import HashSet a = HashSet([1, 2, 3, 4, 5, 4]) print(a) a.add(7) a.add(9) print(a) a.remove(1) print(a)
def main(): data = [i for i in range(100)] hash_set = HashSet(data) print("\nTest initial hash table") print("------------------\n") print(hash_set) print("\n") print("Test hash table after rehash") print("-------------------------\n") print(hash_set.rehash()) print("\n") print("Clear hashtable and insert random integers from 1 to 400.") hash_set.clear() start = time.process_time() for i in range(400): integer = random.randint(1,400) hash_set.add(integer) elapsed = time.process_time() - start print("Elapsed CPU processing time for insertion of 400 random ints is: " + str(elapsed) + " seconds" + "\n") print("Clear hashtable and insert sequential integers from 1 to 400.") hash_set.clear() start = time.process_time() for i in range(400): hash_set.add(i) elapsed = time.process_time() - start print("Elapsed CPU processing time for insertion of 400 sequential ints is: " + str(elapsed) + " seconds" + "\n") print("Clear hashtable and insert integers from 1 to 10.") hash_set.clear() start = time.process_time() for i in range(1,11): hash_set.add(i) if 3 in hash_set: print(True) elapsed = time.process_time() - start print("Elapsed CPU processing time for insertion of 10 ints and finding the number '3' : " + str(elapsed) + " seconds" + "\n") print("Clear hashtable and insert integers from 1 to 3.") hash_set.clear() start = time.process_time() for i in range(1,4): hash_set.add(i) if 3 in hash_set: print(True) elapsed = time.process_time() - start print("Elapsed CPU processing time for insertion of 3 ints and finding the number '3' : " + str(elapsed) + " seconds" + "\n") print("Clear hashtable, insert integers from 1 to 10, remove ints 4 thru 10, find 3.") hash_set.clear() start = time.process_time() for i in range(1,11): hash_set.add(i) for i in range(4,11): hash_set.remove(i) if 3 in hash_set: print(True) elapsed = time.process_time() - start print("Elapsed CPU processing time to insert integers from 1 to 10, remove ints 4 thru 10, find '3': " + str(elapsed) + " seconds" + "\n") print("Clear hashtable and insert integers from 1 to 3, remove ints 1 and 2, find 3.") hash_set.clear() start = time.process_time() for i in range(1,4): hash_set.add(i) for i in range(1,2): hash_set.remove(i) if 3 in hash_set: print(True) elapsed = time.process_time() - start print("Elapsed CPU processing time to insert integers from 1 to 3, remove ints 1 thru 2, find '3': " + str(elapsed) + " seconds" + "\n")