Example #1
0
class TestJohnTrasnfertDeLArgentASaFemme(unittest.TestCase):
    
    def setUp(self):
        self.accountSrc = mock()
        self.accountDest = mock()
        self.transfer = Transfert(self.accountSrc, self.accountDest)
    
    def test_transfert_debite_le_bon_compte(self):
        """Test si lors du transfert la valeur est bien debitee de la source"""

        amount = 100
        when(self.accountDest).can_accept_credit(amount).thenReturn(True)
        self.transfer.transfer(amount)
        verify(self.accountSrc, times=1).debit(amount)
        
    def test_transfert_credite_le_bon_compte(self):
        """Test si lors du transfert la valeur est bien creditee a la destination"""
      
        amount = 100
        when(self.accountDest).can_accept_credit(amount).thenReturn(True)
        self.transfer.transfer(amount)
        verify(self.accountDest, times=1).credit(amount)
        
    def test_transfert_credite_et_debite_de_la_meme_valeur(self):  
        """Test que lors d'un transfert la valeur debitee et creditee est la meme"""  
        amount = 100
        when(self.accountDest).can_accept_credit(amount).thenReturn(True)
        self.transfer.transfer(amount)
        verify(self.accountDest, times=1).credit(amount)
        verify(self.accountSrc, times=1).debit(amount)

    def test_debit_errone_ne_credite_pas(self):
        """Test si en cas d'erreur lors du debit, il n'y a pas de credit"""
        
        amount = 100
        when(self.accountDest).can_accept_credit(amount).thenReturn(True)
        when(self.accountSrc).debit(amount).thenRaise(ValueError)
        
        self.assertRaises(ValueError, self.transfer.transfer, amount)
        verify(self.accountDest, never).credit(amount)
        
    def test_credit_errone_ne_debite_pas(self):
        """Test si quand le credit n'est pas possible, il n'y a pas de debit"""
        
        amount = 100
        when(self.accountDest).can_accept_credit(amount).thenReturn(False)
        self.assertRaises(ValueError, self.transfer.transfer, amount)
        verify(self.accountSrc, never).debit(amount)    
Example #2
0
 def setUp(self):
     self.accountSrc = mock()
     self.accountDest = mock()
     self.transfer = Transfert(self.accountSrc, self.accountDest)