def test233_onThirdCall_random_args(self): fto = ForTestOnly() stub = SinonStub(ForTestOnly, "func1") stub.onThirdCall().returns("onThirdCall") self.assertEqual(fto.func1(), None) self.assertEqual(fto.func1(), None) self.assertEqual(fto.func1(1), "onThirdCall")
def test371_multiple_onCall_returns_named_functions(self): o = A_object() stub = SinonStub(o, 'A_func') stub.onFirstCall().returns(5) stub.onSecondCall().returns(10) stub.onThirdCall().returns(20) self.assertEqual(o.A_func(), 5) self.assertEqual(o.A_func(), 10) self.assertEqual(o.A_func(), 20)
def test223_onCall(self): fto = ForTestOnly() self.assertEqual(fto.func1(), "func1") stub = SinonStub(ForTestOnly, "func1") stub.onSecondCall().returns("oncall") self.assertEqual(fto.func1(), None) self.assertEqual(fto.func1(), "oncall") stub.onThirdCall().returns("oncall") self.assertEqual(fto.func1(), "oncall") self.assertEqual(fto.func1(), None)
def test225_onCall_plus_withArgs(self): fto = ForTestOnly() self.assertEqual(fto.func1(), "func1") stub = SinonStub(ForTestOnly, "func1") stub.withArgs(1).returns("1") stub.withArgs(1).onSecondCall().returns("oncall") stub.onThirdCall().returns("##") stub.onCall(4).returns("###") # on fifth call will return "###" self.assertEqual(fto.func1(1), "1") self.assertEqual(fto.func1(1), "oncall") self.assertEqual(fto.func1(1), "1") # the priority of onCall is lower than withArgs self.assertEqual(fto.func1(), None) self.assertEqual(fto.func1(), "###")
def test410_conditions_do_not_persist(self): stub = SinonStub() stub.withArgs('A') stub.onThirdCall() stub.returns(5) self.assertEqual(stub(), 5)