public void Balance_Subtract_Balance_SubtractsAllAmounts() { Commodity commodity1 = new Commodity(CommodityPool.Current, new CommodityBase("base-1")); Commodity commodity2 = new Commodity(CommodityPool.Current, new CommodityBase("base-2")); // First balance Amount amount1 = new Amount(BigInt.FromInt(200), commodity1); Amount amount2 = new Amount(BigInt.FromInt(300), commodity2); Balance balance1 = new Balance(); balance1.Add(amount1); balance1.Add(amount2); // Second balance Amount amount3 = new Amount(BigInt.FromInt(50), commodity1); Amount amount4 = new Amount(BigInt.FromInt(70), commodity2); Balance balance2 = new Balance(); balance2.Add(amount3); balance2.Add(amount4); // Action balance1.Subtract(balance2); // Assert Assert.AreEqual(2, balance1.Amounts.Count()); Assert.AreEqual(150, balance1.Amounts.ElementAt(0).Value.Quantity.ToLong()); Assert.AreEqual(230, balance1.Amounts.ElementAt(1).Value.Quantity.ToLong()); }
public void Balance_Constructor_ClonesAmounts() { Commodity commodity1 = new Commodity(CommodityPool.Current, new CommodityBase("base-1")); Commodity commodity2 = new Commodity(CommodityPool.Current, new CommodityBase("base-2")); Amount amount1 = new Amount(BigInt.FromInt(200), commodity1); Amount amount2 = new Amount(BigInt.FromInt(300), commodity2); Balance balance = new Balance(); balance.Add(amount1); balance.Add(amount2); Balance clonedBalance = new Balance(balance); clonedBalance.Amounts.ElementAt(0).Value.Multiply(new Amount(5)); clonedBalance.Amounts.ElementAt(1).Value.Multiply(new Amount(7)); Assert.AreEqual(2, clonedBalance.Amounts.Count()); Assert.AreEqual(1000, clonedBalance.Amounts.ElementAt(0).Value.Quantity.ToLong()); Assert.AreEqual(2100, clonedBalance.Amounts.ElementAt(1).Value.Quantity.ToLong()); Assert.AreEqual(2, balance.Amounts.Count()); Assert.AreEqual(200, balance.Amounts.ElementAt(0).Value.Quantity.ToLong()); Assert.AreEqual(300, balance.Amounts.ElementAt(1).Value.Quantity.ToLong()); }
public void Balance_Add_Balance_AddsAllAmounts() { Commodity commodity1 = new Commodity(CommodityPool.Current, new CommodityBase("base-1")); Commodity commodity2 = new Commodity(CommodityPool.Current, new CommodityBase("base-2")); // First balance Amount amount1 = new Amount(200, commodity1); Amount amount2 = new Amount(300, commodity2); Balance balance1 = new Balance(); balance1.Add(amount1); balance1.Add(amount2); // Second balance Amount amount3 = new Amount(400, commodity1); Amount amount4 = new Amount(500, commodity2); Balance balance2 = new Balance(); balance2.Add(amount3); balance2.Add(amount4); // Action balance1.Add(balance2); // Assert Assert.Equal(2, balance1.Amounts.Count()); Assert.Equal(600, balance1.Amounts.ElementAt(0).Value.Quantity.ToLong()); Assert.Equal(800, balance1.Amounts.ElementAt(1).Value.Quantity.ToLong()); }
public void Balance_Add_IncorporatesAmountsWithTheSameCommodity() { Balance balance = new Balance(); balance.Add(new Amount(1)); balance.Add(new Amount(2)); Assert.IsTrue(balance.IsSingleAmount); Assert.AreEqual(3, balance.SingleAmount.Quantity.ToLong()); }
public void Balance_EqualsAmount_ReturnsFalseIfBalanceIsMultiAmount() { Commodity commodity1 = new Commodity(CommodityPool.Current, new CommodityBase("base-1")); Balance balance = new Balance(); balance.Add(new Amount(BigInt.FromInt(10), commodity1)); balance.Add(new Amount(BigInt.FromInt(20), commodity1)); Assert.IsFalse(balance.Equals(new Amount(10))); }
public void Balance_EqualsAmount_ComparesSingleAmountWithAmount() { Commodity commodity1 = new Commodity(CommodityPool.Current, new CommodityBase("base-1")); Balance balance = new Balance(); balance.Add(new Amount(BigInt.FromInt(10), commodity1)); balance.Add(new Amount(BigInt.FromInt(20), commodity1)); Assert.IsTrue(balance.Equals(new Amount(BigInt.FromLong(30), commodity1))); }
public void Balance_Multiply_RequiresNoCommoditiesForAmountIfBalanceIsMultiAmount() { Commodity commodity1 = new Commodity(CommodityPool.Current, new CommodityBase("base-1")); Commodity commodity2 = new Commodity(CommodityPool.Current, new CommodityBase("base-2")); Balance balance = new Balance(); balance.Add(new Amount(10, commodity1)); balance.Add(new Amount(10, commodity2)); Balance result = balance.Multiply(new Amount(10, commodity2)); }
public void Balance_IsRealZero_IndicatesThatBalanceIsEmptyOrHasAllEmptyAmounts() { Balance balance = new Balance(); Assert.IsTrue(balance.IsRealZero); balance.Add(new Amount(0)); Assert.IsTrue(balance.IsRealZero); balance.Add(new Amount(1)); Assert.IsFalse(balance.IsRealZero); }
public void Balance_ToString_CallsPrint() { Commodity commodity1 = new Commodity(CommodityPool.Current, new CommodityBase("balToStrA")); Commodity commodity2 = new Commodity(CommodityPool.Current, new CommodityBase("balToStrB")); Balance balance = new Balance(); balance.Add(new Amount(BigInt.Parse("1.22"), commodity1)); balance.Add(new Amount(BigInt.Parse("2.44"), commodity2)); Assert.AreEqual("balToStrA1 \r\nbalToStrB2", balance.ToString()); }
public void Balance_ToString_CallsPrint() { Commodity commodity1 = new Commodity(CommodityPool.Current, new CommodityBase("balToStrA")); Commodity commodity2 = new Commodity(CommodityPool.Current, new CommodityBase("balToStrB")); Balance balance = new Balance(); balance.Add(new Amount(Quantity.Parse("1.22"), commodity1)); balance.Add(new Amount(Quantity.Parse("2.44"), commodity2)); Assert.Equal("balToStrA1 \nbalToStrB2", balance.ToString().RemoveCarriageReturns()); }
public void Balance_Divide_RequiresNoCommoditiesForAmountIfBalanceIsMultiAmount() { Commodity commodity1 = new Commodity(CommodityPool.Current, new CommodityBase("base-1")); Commodity commodity2 = new Commodity(CommodityPool.Current, new CommodityBase("base-2")); Balance balance = new Balance(); balance.Add(new Amount(10, commodity1)); balance.Add(new Amount(10, commodity2)); Assert.Throws <BalanceError>(() => balance.Divide(new Amount(10, commodity2))); }
public void Balance_Divide_RequiresNoCommoditiesForAmountIfBalanceIsMultiAmount() { Commodity commodity1 = new Commodity(CommodityPool.Current, new CommodityBase("base-1")); Commodity commodity2 = new Commodity(CommodityPool.Current, new CommodityBase("base-2")); Balance balance = new Balance(); balance.Add(new Amount(BigInt.FromInt(10), commodity1)); balance.Add(new Amount(BigInt.FromInt(10), commodity2)); Balance result = balance.Divide(new Amount(BigInt.FromInt(10), commodity2)); }
public void Balance_IsLessThan_ComparesAllAmounts() { Commodity commodity1 = new Commodity(CommodityPool.Current, new CommodityBase("base-1")); Commodity commodity2 = new Commodity(CommodityPool.Current, new CommodityBase("base-2")); Balance balance = new Balance(); balance.Add(new Amount(10, commodity1)); balance.Add(new Amount(20, commodity2)); Assert.True(balance.IsLessThan(new Amount(30))); Assert.False(balance.IsLessThan(new Amount(10))); }
public void Balance_Multiply_MultipliesSingleAmountBalance() { Commodity commodity1 = new Commodity(CommodityPool.Current, new CommodityBase("base-1")); Balance balance = new Balance(); balance.Add(new Amount(10, commodity1)); balance.Add(new Amount(20, commodity1)); Balance result = balance.Multiply(new Amount(10, commodity1)); Assert.Equal(300, balance.Amounts.First().Value.Quantity.ToLong()); }
public void Balance_IsGreaterThan_ComparesAllAmounts() { Commodity commodity1 = new Commodity(CommodityPool.Current, new CommodityBase("base-1")); Commodity commodity2 = new Commodity(CommodityPool.Current, new CommodityBase("base-2")); Balance balance = new Balance(); balance.Add(new Amount(BigInt.FromInt(10), commodity1)); balance.Add(new Amount(BigInt.FromInt(20), commodity2)); Assert.IsFalse(balance.IsGreaterThan(new Amount(30))); Assert.IsTrue(balance.IsGreaterThan(new Amount(10))); }
public void Balance_Divide_DividessSingleAmountBalance() { Commodity commodity1 = new Commodity(CommodityPool.Current, new CommodityBase("base-1")); Balance balance = new Balance(); balance.Add(new Amount(BigInt.FromInt(10), commodity1)); balance.Add(new Amount(BigInt.FromInt(20), commodity1)); Balance result = balance.Divide(new Amount(BigInt.FromInt(10), commodity1)); Assert.AreEqual(3, balance.Amounts.First().Value.Quantity.ToLong()); }
public void Balance_IsSingleAmount_IndicatesThatBalanceHasOneAmounts() { Balance balance = new Balance(); Assert.IsFalse(balance.IsSingleAmount); balance.Add(new Amount(1)); Assert.IsTrue(balance.IsSingleAmount); Commodity comm = new Commodity(CommodityPool.Current, new CommodityBase("comm")); balance.Add(new Amount(BigInt.FromLong(1), comm)); Assert.IsFalse(balance.IsSingleAmount); }
public void Balance_Multiply_MultipliesAmountsIfGivenAmountHasNoCommodity() { Commodity commodity1 = new Commodity(CommodityPool.Current, new CommodityBase("base-1")); Commodity commodity2 = new Commodity(CommodityPool.Current, new CommodityBase("base-2")); Balance balance = new Balance(); balance.Add(new Amount(10, commodity1)); balance.Add(new Amount(20, commodity2)); Balance result = balance.Multiply(new Amount(5)); Assert.Equal(50, balance.Amounts.First().Value.Quantity.ToLong()); Assert.Equal(100, balance.Amounts.Last().Value.Quantity.ToLong()); }
public void Balance_Divide_MultipliesAmountsIfGivenAmountHasNoCommodity() { Commodity commodity1 = new Commodity(CommodityPool.Current, new CommodityBase("base-1")); Commodity commodity2 = new Commodity(CommodityPool.Current, new CommodityBase("base-2")); Balance balance = new Balance(); balance.Add(new Amount(BigInt.FromInt(10), commodity1)); balance.Add(new Amount(BigInt.FromInt(20), commodity2)); Balance result = balance.Divide(new Amount(5)); Assert.AreEqual(2, balance.Amounts.First().Value.Quantity.ToLong()); Assert.AreEqual(4, balance.Amounts.Last().Value.Quantity.ToLong()); }
public void Balance_EqualsBalance_ComparesBalanceAmountsToBeEqual() { Commodity commodity1 = new Commodity(CommodityPool.Current, new CommodityBase("base-1")); Balance balance1 = new Balance(); balance1.Add(new Amount(BigInt.FromInt(10), commodity1)); balance1.Add(new Amount(BigInt.FromInt(20), commodity1)); Balance balance2 = new Balance(); balance2.Add(new Amount(BigInt.FromInt(10), commodity1)); balance2.Add(new Amount(BigInt.FromInt(20), commodity1)); Assert.IsTrue(balance1.Equals(balance2)); }
public void AddData(string name, object value) { switch (name) { case "Логин": Login.Add((string)value); break; case "Пароль": Password.Add((string)value); break; case "Email": Email.Add((string)value); break; case "Телефон": Phone.Add((string)value); break; case "VIP": VIP.Add((bool)value); break; case "Баланс": Balance.Add(double.Parse(value.ToString())); break; case "Фамилия": LastName.Add((string)value); break; case "Имя": FirstName.Add((string)value); break; case "Отчество": MiddleName.Add((string)value); break; default: MessageBox.Show($"Поле {name} отсутствует!"); break; } }
public Result DepositMoney(PositiveDecimal amount) { var newBalance = Balance.Add(amount); return(newBalance .OnSuccess(UpdateBalance(newBalance.Value))); }
public void AddCredit(decimal amount) { _balance = _balance.Add(amount); var credit = new Credit(amount); _history.Add(Transaction.Create(credit)); }
public void Balance_Add_AddsNonZeroAmounts() { Balance balance = new Balance(); balance.Add(new Amount(1)); Assert.IsTrue(balance.IsSingleAmount); }
public void Balance_Add_IgnoresZeroAmounts() { Balance balance = new Balance(); balance.Add(new Amount(0)); Assert.IsTrue(balance.IsEmpty); }
public void Balance_Subtract_RemovesZeroResults() { Balance balance = new Balance(); balance.Add(new Amount(5)); balance.Subtract(new Amount(5)); Assert.IsTrue(balance.IsEmpty); }
public void Balance_Print_PerformsLeftJustificationInCaseOfNo_AMOUNT_PRINT_RIGHT_JUSTIFY() { Balance balance = new Balance(); balance.Add((Amount)1); var result = balance.Print(10); Assert.Equal("1 ", result); }
public void Balance_Subtract_SubtractsAnExistingAmount() { Balance balance = new Balance(); balance.Add(new Amount(5)); balance.Subtract(new Amount(2)); Assert.IsTrue(balance.IsSingleAmount); Assert.AreEqual(3, balance.SingleAmount.Quantity.ToLong()); }
public void Balance_Print_PerformsRightJustificationInCaseOf_AMOUNT_PRINT_RIGHT_JUSTIFY() { Balance balance = new Balance(); balance.Add((Amount)1); var result = balance.Print(10, 10, AmountPrintEnum.AMOUNT_PRINT_RIGHT_JUSTIFY); Assert.AreEqual(" 1", result); }
public void Balance_IsEmpty_IndicatesThatBalanceHasNoAmounts() { Balance balance = new Balance(); Assert.IsTrue(balance.IsEmpty); balance.Add(new Amount(1)); Assert.IsFalse(balance.IsEmpty); }