public void Put_PutNullValue_ThrowException() { // Arrange Wallet.Wallet wallet = new Wallet.Wallet(); // Act & Assert Assert.ThrowsException <ArgumentNullException>(() => wallet.Put(null)); }
private void Awake() { if (Instance != this) { Instance = this; } CurrentWallet = Wallet.Wallet.CreateWallet(null); }
public void Put_PutMoney_MoneyPutted() { // Arrange decimal expectedAmount = new Random().Next(1, int.MaxValue); Currency expectedCurrency = Currency.AED; Money money = new Money(expectedAmount, expectedCurrency); Wallet.Wallet wallet = new Wallet.Wallet(); // Act wallet.Put(money); // Assert Assert.IsNotNull(wallet.Monies); Assert.IsTrue(wallet.Monies.Contains(money)); }
public void SumWithMapReduce_PutOneMoney_SumEqualToMoneyAmount() { // Arrange decimal expectedAmount = new Random().Next(1, int.MaxValue); Currency expectedCurrency = Currency.AED; Money money = new Money(expectedAmount, expectedCurrency); Wallet.Wallet wallet = new Wallet.Wallet(); wallet.Put(money); // Act Money actual = wallet.SumWithMapReduce(expectedCurrency); // Assert Assert.IsNotNull(actual); Assert.AreEqual(expectedCurrency, actual.Currency); Assert.IsTrue(actual.Amount > 0); Assert.AreEqual(expectedAmount, actual.Amount); }
public void SumWithMapReduce_PutMoniesWithSameCurrency_SumEqualToMonies() { // Arrange decimal firstAmount = new Random().Next(1, int.MaxValue); decimal secondAmount = new Random().Next(1, int.MaxValue); Currency expectedCurrency = Currency.AED; Money firstMoney = new Money(firstAmount, expectedCurrency); Money secondMoney = new Money(secondAmount, expectedCurrency); Wallet.Wallet wallet = new Wallet.Wallet(); wallet.Put(firstMoney); wallet.Put(secondMoney); // Act Money actual = wallet.SumWithMapReduce(expectedCurrency); // Assert Assert.IsNotNull(actual); Assert.AreEqual(expectedCurrency, actual.Currency); Assert.IsTrue(actual.Amount > 0); Assert.AreEqual(firstAmount + secondAmount, actual.Amount); }
public void Put_PutMoniesDifferentsCurrencies_MoniesPutted() { // Arrange decimal expectedFirstAmount = new Random().Next(1, int.MaxValue); Currency expectedFirstCurrency = Currency.AED; Money firstMoney = new Money(expectedFirstAmount, expectedFirstCurrency); decimal expectedSecondAmount = new Random().Next(1, int.MaxValue); Currency expectedSecondCurrency = Currency.AFN; Money secondMoney = new Money(expectedSecondAmount, expectedSecondCurrency); Wallet.Wallet wallet = new Wallet.Wallet(); // Act wallet.Put(firstMoney); wallet.Put(secondMoney); // Assert Assert.IsNotNull(wallet.Monies); Assert.AreEqual(2, wallet.Monies.Count); Assert.IsTrue(wallet.Monies.Contains(firstMoney)); Assert.IsTrue(wallet.Monies.Contains(secondMoney)); }
static void Main(string[] args) { Wallet.Wallet wallet = new Wallet.Wallet(); // Put random monies in wallet. for (int counter = 0; counter < 1000000; counter++) { wallet.Put(new Money(GetRandomAmout(), GetRandomCurrency())); } // Stopwatch with mapreduce. Stopwatch watch = new Stopwatch(); watch.Start(); Money money = wallet.SumWithMapReduce(Currency.EUR); watch.Stop(); // Stopwatch without mapreduce Stopwatch watch2 = new Stopwatch(); watch2.Start(); Money money2 = wallet.Sum(Currency.EUR); watch2.Stop(); Console.WriteLine($"Sum with MapReduce"); Console.WriteLine($"{money.Amount}{money.Currency}"); Console.WriteLine($"{watch.Elapsed.Minutes} Minutes. {watch.Elapsed.Seconds} Seconds. {watch.Elapsed.Milliseconds} Milliseconds."); Console.WriteLine($"Sum without MapReduce"); Console.WriteLine($"{money2.Amount}{money2.Currency}"); Console.WriteLine($"{watch2.Elapsed.Minutes} Minutes. {watch2.Elapsed.Seconds} Seconds. {watch2.Elapsed.Milliseconds} Milliseconds."); Console.ReadKey(); }