コード例 #1
0
def fixture_func(request, fixture_func_name):
    def func(a, b, c, d):
        pass

    use_function_name = request.param
    if use_function_name:
        func.__name__ = fixture_func_name
        return slash.fixture(func)
    return slash.fixture(name=fixture_func_name)(func)
コード例 #2
0
def fixture_func(request, fixture_func_name):

    def func(a, b, c, d):
        pass

    use_function_name = request.param
    if use_function_name:
        func.__name__ = fixture_func_name
        return slash.fixture(func)
    return slash.fixture(name=fixture_func_name)(func)
コード例 #3
0
def test_fixture_decorator():
    def func(a, b, c):
        pass

    assert not hasattr(func, '__slash_fixture__')

    assert slash.fixture(func) is func

    assert func.__slash_fixture__ is not None  # pylint: disable=no-member
コード例 #4
0
def test_fixture_decorator():

    def func(a, b, c):
        pass

    assert not hasattr(func, '__slash_fixture__')

    assert slash.fixture(func) is func

    assert func.__slash_fixture__ is not None
コード例 #5
0
def test_parametrized_fixture(store):

    _fixture = lambda f: store.add_fixture(slash.fixture(f))

    @_fixture
    @slash.parametrize('a', [1, 2, 3])
    @slash.parametrize('b', [4, 5, 6])
    def fixture(a, b):
        pass

    store.resolve()
コード例 #6
0
def test_parametrized_fixture(store):

    _fixture = lambda f: store.add_fixture(slash.fixture(f))

    @_fixture
    @slash.parametrize('a', [1, 2, 3])
    @slash.parametrize('b', [4, 5, 6])
    def fixture(a, b):
        pass

    store.resolve()
コード例 #7
0
 def _construct_fixture(self, name, scope, dependent_names):
     buff = StringIO()
     code = CodeFormatter(buff)
     code.writeln('def {}(this, {}):'.format(name,
                                             ', '.join(dependent_names)))
     with code.indented():
         for dependent_name in dependent_names:
             code.writeln(
                 'tree.check_value({0!r}, {0})'.format(dependent_name))
         code.writeln('@this.add_cleanup')
         code.writeln('def cleanup():')
         with code.indented():
             code.writeln('tree.cleanup({!r})'.format(name))
         code.writeln('return tree.make_value({!r})'.format(name))
     globs = {'tree': self}
     exec(buff.getvalue(), globs)  # pylint: disable=exec-used
     return slash.fixture(scope=scope)(globs[name])
コード例 #8
0
ファイル: test_fixture_scoping.py プロジェクト: hagai26/slash
 def _construct_fixture(self, name, scope, dependent_names):
     buff = StringIO()
     code = CodeFormatter(buff)
     code.writeln(
         'def {0}(this, {1}):'.format(name, ', '.join(dependent_names)))
     with code.indented():
         for dependent_name in dependent_names:
             code.writeln(
                 'tree.check_value({0!r}, {0})'.format(dependent_name))
         code.writeln('@this.add_cleanup')
         code.writeln('def cleanup():')
         with code.indented():
             code.writeln('tree.cleanup({0!r})'.format(name))
         code.writeln('return tree.make_value({0!r})'.format(name))
     globs = {'tree': self}
     exec(buff.getvalue(), globs)
     return slash.fixture(scope=scope)(globs[name])
コード例 #9
0
def test_fixture_initialization_order_is_preserved(store):

    _fixture = lambda f: store.add_fixture(slash.fixture(f))
    generation = itertools.count(1)

    @_fixture
    def fixture1():
        return next(generation)

    @_fixture
    def fixture2():
        return next(generation)

    @_fixture
    def fixture3():
        return next(generation)

    store.resolve()
    d = store.get_fixture_dict(['fixture1', 'fixture2', 'fixture3'])
    for i in [1, 2, 3]:
        assert d['fixture{0}'.format(i)] == i
コード例 #10
0
def test_fixture_initialization_order_is_preserved(store):

    _fixture = lambda f: store.add_fixture(slash.fixture(f))
    generation = itertools.count(1)

    @_fixture
    def fixture1():
        return next(generation)

    @_fixture
    def fixture2():
        return next(generation)

    @_fixture
    def fixture3():
        return next(generation)

    store.resolve()
    d = store.get_fixture_dict(['fixture1', 'fixture2', 'fixture3'])
    for i in [1, 2, 3]:
        assert d['fixture{0}'.format(i)] == i
コード例 #11
0
    def generate_session_and_test(permutation):

        s = slash.Session()

        if on_fixture:

            @parametrize(permutation)
            def some_fixture(a, b, c):
                return {'a': a, 'b': b, 'c': c}

            def test_something(some_fixture):
                slash.context.result.data['params'] = some_fixture
        else:

            @parametrize(permutation)
            def test_something(a, b, c):
                slash.context.result.data['params'] = {'a': a, 'b': b, 'c': c}

        if on_fixture:
            s.fixture_store.add_fixture(slash.fixture(some_fixture))

        s.fixture_store.resolve()

        return s, test_something
コード例 #12
0
    def generate_session_and_test(permutation):

        s = slash.Session()

        if on_fixture:

            @parametrize(permutation)
            def some_fixture(a, b, c):
                return {'a': a, 'b': b, 'c': c}

            def test_something(some_fixture):
                slash.context.result.data['params'] = some_fixture
        else:
            @parametrize(permutation)
            def test_something(a, b, c):
                slash.context.result.data['params'] = {'a': a, 'b': b, 'c': c}


        if on_fixture:
            s.fixture_store.add_fixture(slash.fixture(some_fixture))

        s.fixture_store.resolve()

        return s, test_something
コード例 #13
0
def test_fixture_decorator_multiple_calls(fixture_func):
    fixture_info = fixture_func.__slash_fixture__
    assert slash.fixture(slash.fixture(fixture_func)) is fixture_func

    assert fixture_func.__slash_fixture__ is fixture_info
コード例 #14
0
def test_fixture_decorator_multiple_calls(fixture_func):
    fixture_info = fixture_func.__slash_fixture__
    assert slash.fixture(slash.fixture(fixture_func)) is fixture_func

    assert fixture_func.__slash_fixture__ is fixture_info