public void CardLockedAfterThreeTimesOfWrongPin()
        {
            ICard card;

            card = new MasterCard("5555555555555555", 5500m, 4322, new DateTime(2030, 10, 5));
            card.CheckPin(3124);
            card.CheckPin(3114);
            card.CheckPin(3224);
            Assert.Throws <ArgumentException>(() => card.CheckPin(4322), "pinToCheck");
        }
        public void CheckPinCodeIsWrong()
        {
            ICard card;

            card = new MasterCard("5555555555555555", 0M, 4322, new DateTime(2030, 10, 5));
            Assert.IsFalse(card.CheckPin(4212));
        }
        public void CheckPinCodeIsRight()
        {
            ICard card;

            card = new MasterCard("5555555555555555", 0M, 4322, new DateTime(2030, 10, 5));
            Assert.IsTrue(card.CheckPin(4322));
        }
        public void CheckPinCodeDoesNotThrow()
        {
            ICard card;

            card = new MasterCard("5555555555555555", 0M, 4322, new DateTime(2030, 10, 5));
            Assert.DoesNotThrow(() => card.CheckPin(4212));
        }
        public void CardResetsLockAttemptWhenRightPinIsEntered()
        {
            ICard card;

            card = new MasterCard("5555555555555555", 5500m, 4322, new DateTime(2030, 10, 5));
            card.CheckPin(3124);
            card.CheckPin(3114);
            card.CheckPin(4322);

            card.CheckPin(3124);
            card.CheckPin(3114);
            card.CheckPin(3124);

            Assert.Throws <ArgumentException>(() => card.CheckPin(4322), "pinToCheck");
        }