Esempio n. 1
0
        public void AddMoneyTest()
        {
            Cash    add       = new Cash(5, "USD");
            CashBag reference = new CashBag(add, f14CHF);

            Assert.AreEqual(reference, f14CHF.AddMoney(add));
        }
Esempio n. 2
0
        public static void MoneyBagTest()
        {
            Cash    start = new Cash(4, "CHF");
            Cash    add   = new Cash(3, "PLN");
            CashBag test  = new CashBag(start, add);

            Assert.AreEqual(start.AddMoneyBag(test), test.Multiply(2).Subtract(add));
        }
    private static void FillBag(Bag bag, long bagCapacity, string[] itemsInput)
    {
        for (int i = 0; i < itemsInput.Length; i += 2)
        {
            long bagCurrentCap = 0;
            var  item          = itemsInput[i];
            long amount        = long.Parse(itemsInput[i + 1]);


            if (item.ToLower() == "Gold".ToLower() &&
                CheckBagCapacity(bagCapacity, bagCurrentCap, amount))
            {
                GoldBag gold = new GoldBag();

                AddGold(bag, item, amount, gold);

                bagCurrentCap += amount;
            }

            if (item.Length > 3 &&
                item.ToLower().EndsWith("Gem".ToLower()) &&
                CheckBagCapacity(bagCapacity, bagCurrentCap, amount))
            {
                GemBag gem = new GemBag();

                long goldSum = bag.GoldBag.Sum(a => a.Quantity);
                long gemSum  = bag.GemBag.Sum(a => a.Quantity);

                if (CheckAmountGoldGem(goldSum, gemSum, amount))
                {
                    AddGem(bag, item, amount, gem);

                    bagCurrentCap += amount;
                }
            }

            if (item.Length == 3 &&
                CheckBagCapacity(bagCapacity, bagCurrentCap, amount))
            {
                CashBag cash = new CashBag();

                var goldSum = bag.GoldBag.Sum(a => a.Quantity);
                var gemSum  = bag.GemBag.Sum(a => a.Quantity);
                var cashSum = bag.CashBag.Sum(a => a.Quantity);

                if (CheckAmountGemCash(gemSum, cashSum, amount) &&
                    CheckAmountGoldCash(goldSum, cashSum, amount))
                {
                    AddCash(bag, item, amount, cash);

                    bagCurrentCap += amount;
                }
            }
        }
    }
Esempio n. 4
0
        public void CashBagWithCashObjectEqualsTests(int cur)
        {
            // arrange
            Cash dummy = new Cash(cur, "CAD");

            // act
            CashBag test      = new CashBag(dummy, new Cash(3, "USD"));
            bool    dummyTest = test.Equals(dummy);

            // assert
            Assert.AreEqual(false, dummyTest);
        }
 private void AddCash(Bag bag, string item, long amount, CashBag cash)
 {
     if (bag.CashBag.All(a => a.Type != item))
     {
         cash.Type     = item;
         cash.Quantity = amount;
         bag.CashBag.Add(cash);
     }
     else
     {
         bag.CashBag.Find(a => a.Type == item).Quantity += amount;
     }
 }
Esempio n. 6
0
        public void CashBagEqualsTest(int c1, string c1n, int c2, string c2n, int c3, bool expected)
        {
            // arrange
            Cash cash1 = new Cash(c1, c1n);
            Cash cash2 = new Cash(c2, c2n);
            Cash cash3 = new Cash(c3, c2n);

            // act
            CashBag testEquals = new CashBag(cash1, cash2);
            CashBag equalsTo   = new CashBag(cash1, cash3);

            // assert
            Assert.AreEqual(expected, testEquals.Equals(equalsTo));
        }
Esempio n. 7
0
        public void CashBagEqualsDifferentCurrenciesLengthTest(int a, int b, int c, string c1, string c2, string c3)
        {
            // arrange
            Cash cash1 = new Cash(a, c1);
            Cash cash2 = new Cash(b, c2);
            Cash cash3 = new Cash(c, c3);

            // act
            CashBag test      = new CashBag(cash1, cash2);
            CashBag breakTest = new CashBag(cash1, cash2);

            breakTest = (CashBag)breakTest.AddMoney(cash3);

            // assert
            Assert.AreEqual(false, test.Equals(breakTest));
        }
Esempio n. 8
0
        public void WhenUsedMethodToString()
        {
            CashBag test = new CashBag(chf, usd);

            testCashBag = test.ToString();
        }
Esempio n. 9
0
 public void WhenCashBagIsNegated()
 {
     testCashBag = (CashBag)testCashBag.Negate();
 }
Esempio n. 10
0
 public void GivenCashBagIsCHFPLN(int p0, int p1)
 {
     testCashBag = new CashBag(new Cash(p0, "CHF"), new Cash(p1, "PLN"));
 }
Esempio n. 11
0
 public void WhenCashBagAppendTwoCashBags()
 {
     testedCashBag = new CashBag(cb1, cb2);
 }
Esempio n. 12
0
 public void GivenCashBagHasValuesCHFCHFCADUSD(int p0, int p1, int p2, int p3)
 {
     cb1 = new CashBag(new Cash(p0, "CHF"), new Cash(p2, "CAD"));
     cb2 = new CashBag(new Cash(p1, "CHF"), new Cash(p3, "USD"));
 }
Esempio n. 13
0
        public void EqualsMethodWithNotHandledObject()
        {
            CashBag notHandledObject = new CashBag(new Cash(5, "USD"), f14CHF);

            Assert.AreEqual(false, f14CHF.Equals(notHandledObject));
        }