tests: generate AVL vs WAVL difference by contradiction
Signed-off-by: Matej Focko <mfocko@redhat.com>
This commit is contained in:
parent
f05aa87f4b
commit
e50cca7a14
1 changed files with 25 additions and 1 deletions
|
@ -4,6 +4,7 @@ from comparator import Comparator
|
|||
from test_wavl import delete_strategy
|
||||
|
||||
import hypothesis
|
||||
import pytest
|
||||
|
||||
|
||||
def report_different(before, deleted, comparator):
|
||||
|
@ -16,9 +17,10 @@ def report_different(before, deleted, comparator):
|
|||
print(comparator, file=a)
|
||||
|
||||
|
||||
@pytest.mark.xfail
|
||||
@hypothesis.settings(max_examples=10000, deadline=None)
|
||||
@hypothesis.given(config=delete_strategy())
|
||||
def test_delete(config):
|
||||
def test_delete_ranks_differ(config):
|
||||
values, order = config
|
||||
|
||||
comparator = Comparator(AVLTree(), WAVLTree())
|
||||
|
@ -35,3 +37,25 @@ def test_delete(config):
|
|||
except AssertionError:
|
||||
report_different(before, value, comparator)
|
||||
raise
|
||||
|
||||
|
||||
@pytest.mark.xfail
|
||||
@hypothesis.settings(max_examples=10000, deadline=None)
|
||||
@hypothesis.given(config=delete_strategy())
|
||||
def test_delete_trees_differ(config):
|
||||
values, order = config
|
||||
|
||||
comparator = Comparator(AVLTree(), WAVLTree())
|
||||
|
||||
for value in values:
|
||||
comparator.insert(value)
|
||||
|
||||
for value in order:
|
||||
before = str(comparator.left)
|
||||
comparator.delete(value)
|
||||
|
||||
try:
|
||||
assert comparator.are_similar
|
||||
except AssertionError:
|
||||
report_different(before, value, comparator)
|
||||
raise
|
||||
|
|
Loading…
Reference in a new issue