2.6테스트 코드
마지막으로 테스트해 보지 못한 search() 메서드와 insert_node() 메서드를 테스트해 보고 마치겠습니다. 테스트 코드는 14장 2.5절에서 만든 이진 탐색 트리를 대상으로 작성하겠습니다.
print("searched data : {}".format(bst.search(8).data))
실행결과 searched data : 8
search() 메서드가 잘 작동합니다.
# 이진 탐색 트리에서 6 노드를 삭제
node = bst.remove(6)
# 반환받은 삭제 노드의 데이터를 7로 변경
node.data = 7
# 변경된 노드를 이진 탐색 트리에 다시 삽입
bst.insert_node(node)
# 기대 출력 값: 5 3 2 4 8 7 10 9 11
bst.preorder_traverse(bst.get_root(), f)
print()
실행결과 5 3 2 4 8 7 10 9 11
Insert_node() 메서드도 잘 동작합니다.