def test__then_return__can_set_the_return_value_for_a_class_method(): with TemporaryClass() as SomeTemporaryClass: when(SomeTemporaryClass.some_class_method).then_return("some value") expect( SomeTemporaryClass.some_class_method( "anything", ["can"], go="here")).to_be("some value")
def test__for_a_static_method__was_called_with__can_pass(): with TemporaryClass() as SomeTemporaryClass: spy_on(SomeTemporaryClass.some_static_method, on=SomeTemporaryClass) SomeTemporaryClass.some_static_method("some-positional-argument", ["some-array-content"]) expect(SomeTemporaryClass.some_static_method).was_called_with( "some-positional-argument", ["some-array-content"])
def test__for_a_static_method__was_called__when_there_were_no_calls__fails_with_a_message( ): with TemporaryClass() as SomeTemporaryClass: spy_on(SomeTemporaryClass.some_static_method, on=SomeTemporaryClass) expect_expectation_to_fail_with_message( lambda: expect(SomeTemporaryClass.some_static_method).was_called(), "Expected that <SomeTemporaryClass::some_static_method> was called but it was never called" )
def test__stub__when_stubbing_a_static_method__tracks_what_the_method_was_called_with( ): with TemporaryClass() as SomeTemporaryClass: when(SomeTemporaryClass.some_static_method, SomeTemporaryClass) SomeTemporaryClass.some_static_method("anything", ["can"], go="here") expect(SomeTemporaryClass.some_static_method.last_call).to_be( (("anything", ["can"]), { "go": "here" }))
def test__restore__can_set_a_class_method_back_to_what_it_originally_was(): with TemporaryClass() as SomeTemporaryClass: original_class_method = SomeTemporaryClass.some_class_method when(SomeTemporaryClass.some_class_method).then_return("some value") SomeTemporaryClass.some_class_method.restore() expect( SomeTemporaryClass.some_class_method).to_be(original_class_method)
def test__for_a_static_method__was_called_with__when_there_were_no_calls__fails_with_a_message( ): with TemporaryClass() as SomeTemporaryClass: spy_on(SomeTemporaryClass.some_static_method, on=SomeTemporaryClass) expect_expectation_to_fail_with_message( lambda: expect( SomeTemporaryClass.some_static_method).was_called_with( "some-positional-argument", ["some-array-content"]), """Expected that <SomeTemporaryClass::some_static_method> was called with <('some-positional-argument', ['some-array-content'])> but it was never called""" )
def test__when_calling_group__calls_all_exits_on_group_exit(): with TemporaryClass() as SomeTemporaryClass: some_instance = SomeTemporaryClass() original_method_a = some_instance.some_method original_method_b = some_instance.some_other_method group = group_stubs(spy_on(some_instance.some_method), spy_on(some_instance.some_other_method)) with group: expect(some_instance.some_method).not_to_be(original_method_a) expect( some_instance.some_other_method).not_to_be(original_method_b) expect(some_instance.some_method).to_be(original_method_a) expect(some_instance.some_other_method).to_be(original_method_b)
def test__for_a_static_method__was_called__can_pass(): with TemporaryClass() as SomeTemporaryClass: spy_on(SomeTemporaryClass.some_static_method, on=SomeTemporaryClass) SomeTemporaryClass.some_static_method() expect(SomeTemporaryClass.some_static_method).was_called()