Beispiel #1
0
 def test_evaluate_raises_exception(self, document):
     def evaluator(example):
         raise ValueError('foo!')
     region = Region(0, 1, 'the data', evaluator)
     example = Example(document, 1, 2, region, {})
     with pytest.raises(ValueError) as excinfo:
         example.evaluate()
     assert str(excinfo.value) == 'foo!'
Beispiel #2
0
 def test_evaluate_okay(self, document):
     def evaluator(example):
         example.namespace['parsed'] = example.parsed
     region = Region(0, 1, 'the data', evaluator)
     namespace = {}
     example = Example(document, 1, 2, region, namespace)
     result = example.evaluate()
     assert result is None
     assert namespace == {'parsed': 'the data'}
Beispiel #3
0
 def test_evaluate_not_okay(self, document):
     def evaluator(example):
         return 'foo!'
     region = Region(0, 1, 'the data', evaluator)
     example = Example(document, 1, 2, region, {})
     with pytest.raises(SybilFailure) as excinfo:
         example.evaluate()
     assert str(excinfo.value) == (
         'Example at /the/path, line 1, column 2 did not evaluate as '
         'expected:\nfoo!'
     )
     assert excinfo.value.example is example
     assert excinfo.value.result == 'foo!'
Beispiel #4
0
def evaluate_region(region, namespace):
    return region.evaluator(
        Example(document=Document('', '/the/path'),
                line=0,
                column=0,
                region=region,
                namespace=namespace))
Beispiel #5
0
 def test_repr(self, document):
     region = Region(0, 1, 'parsed', 'evaluator')
     example = Example(document, 1, 2, region, {})
     assert (repr(example) ==
             "<Example path=/the/path line=1 column=2 using 'evaluator'>")