public void Given_ValidCard_It_Should_TopUp_Balance() { Card card = CreateValidCard(); Assert.That(card.GetBalance() == 0); Assert.That(card.TopupBy(100, validPin).GetBalance(), Is.EqualTo(100)); }
public void Given_CardHasEnoughBalance_ItShouldBeUsedByManyPlaces_AtSameTime() { Card card = CreateValidCard(); card.TopupBy(1000, validPin); Parallel.Invoke(() => card.WithdrawBy(100, validPin), () => card.WithdrawBy(100, validPin), () => card.WithdrawBy(100, validPin), () => card.WithdrawBy(100, validPin), () => card.WithdrawBy(100, validPin), () => card.WithdrawBy(100, validPin)); Assert.That(card.GetBalance(), Is.EqualTo(400)); }