Exemple #1
0
def GeneratorWithSingleException(genname, input, exception):
    execution = EmptyProjectExecution()
    generator = Function(genname, input.keys(), is_generator=True)
    gobject = GeneratorObject(None, generator,
                              stable_serialize_call_arguments(execution, input),
                              generator)
    gobject.add_call(GeneratorObjectInvocation(generator, {},
        exception=execution.serialize(exception)))
    generator.add_call(gobject)
    return generator
Exemple #2
0
def GeneratorWithYields(genname, input, yields):
    execution = EmptyProjectExecution()
    generator = Function(genname, input.keys(), is_generator=True)
    gobject = GeneratorObject(None, generator,
                              stable_serialize_call_arguments(execution, input),
                              generator)
    for syield in map(execution.serialize, yields):
        gobject.add_call(GeneratorObjectInvocation(generator, {}, syield))
    generator.add_call(gobject)
    return generator
Exemple #3
0
    def test_generates_complete_assertion_for_functions_which_take_defined_generator_objects_as_arguments(self):
        execution = EmptyProjectExecution()
        def ssca(args):
            return stable_serialize_call_arguments(execution, args)
        s = execution.serialize

        mygen = Function('mygen', ['a', 'b'], is_generator=True)
        gobject = GeneratorObject(None, mygen, ssca({'a': 42, 'b': False}), mygen)
        gobject.add_call(GeneratorObjectInvocation(mygen, {}, s(42)))
        mygen.add_call(gobject)
        function = Function('invoke', ['g'])
        function.add_call(FunctionCall(function, {'g': gobject}, output=s(True)))

        result = generate_single_test_module(objects=[function, mygen])

        assert_contains(result, "from module import mygen")
        assert_contains(result, "def test_invoke_returns_true_for_mygen_instance(self):")
        assert_contains(result, "self.assertEqual(True, invoke(mygen(42, False)))")