Пример #1
0
        public static PiggyBankImmutable BuyCandy(PiggyBankImmutable piggyBank)
        {
            if (piggyBank.Coins < 7)
                throw new ArgumentException(
                  "Not enough money for candy!", "piggyBank");

            return new PiggyBankImmutable(piggyBank.Coins - 7);
        }
Пример #2
0
        public static void TestImmutable()
        {
            // still raises an ArgumentException
            var piggyBank = new PiggyBankImmutable(5);

               // ImmutableTest.BuyCandy(piggyBank);
               // ImmutableTest.DepositCoins(piggyBank);

            // now this raises an ArgumentException,  too!
            piggyBank = new PiggyBankImmutable(5);

            ImmutableTest.DepositCoins(piggyBank);
            ImmutableTest.BuyCandy(piggyBank);

            piggyBank = new PiggyBankImmutable(5);
            ImmutableTest.BuyCandy(ImmutableTest.DepositCoins(piggyBank));
        }
Пример #3
0
 public static PiggyBankImmutable DepositCoins(PiggyBankImmutable piggyBank)
 {
     return new PiggyBankImmutable(piggyBank.Coins + 10);
 }