ALDS1_8_C: Binary Search Tree III (続き3)
オンラインジャッジのテストケースは網羅性とか気にしないんだろうか
まあ文句言ってても始まらないので軽くテストできるように書くか
def process(commands):
T = Tree()
for cmd in commands:
if cmd[0] == "insert":
T.insert(Node(int(cmd[1])))
elif cmd == "find":
print("yes" if T.find(int(cmd[1])) else "no")
elif cmd == "delete":
T.delete(int(cmd[1]))
elif cmd == "print":
T.print_inorder()
T.print_preorder()
print(str(T))
return T
def test_a_case(name, commands, expected):
result = str(process(commands))
assert result == expected, name + " " + result
def test():
test_a_case(
"test1",
[
],
"()")
test_a_case(
"test2",
[
["insert", "1"],
],
"(1 None None)")
test_a_case(
"test3",
[
["insert", "1"],
["delete", "1"],
],
"()")
test()
これくらいでバグが見つかるんだからテストなんてちょろいね
うそです
いろんなケースでちゃんと動くことを確認しようと思ったら
どれだけ書けばいいか見当がつかない