static void RunEmitation(BussinesService bussinesService, Interfaces.ILoggable loggerService) { var shareholders = bussinesService.GetAllShareholders(); List <Shareholder> shareholdersList = new List <Shareholder>(); foreach (var shareholder in shareholders) { shareholdersList.Add(shareholder); } Random random = new Random(); var randomShareholderIndex = random.Next(0, shareholdersList.Count()); var randomShareholderA = shareholdersList[randomShareholderIndex]; shareholdersList.RemoveAt(randomShareholderIndex); randomShareholderIndex = random.Next(0, shareholdersList.Count()); var randomShareholderB = shareholdersList[randomShareholderIndex]; var arrayOfSharesTypes = Enum.GetValues(typeof(SharesTypes)); var randomSharesType = (SharesTypes)arrayOfSharesTypes.GetValue(random.Next(arrayOfSharesTypes.Length)); var trade = new Trade { ShareholderId = randomShareholderA.Id, BuyerId = randomShareholderB.Id, Value = random.Next(1, 30), ValueType = randomSharesType }; bussinesService.RegisterNewTrade( trade, randomShareholderA, randomShareholderB); Console.ForegroundColor = ConsoleColor.Green; Console.Write("log info: "); loggerService.Info($"->{trade.ToString()}<-"); Console.ForegroundColor = ConsoleColor.Gray; Console.WriteLine(trade); Console.ForegroundColor = ConsoleColor.DarkGray; Console.WriteLine($"Shareholder's " + $"\n\tbalance value: {bussinesService.GetMostWantedBalanceById(randomShareholderA.Id).BalanceValue.ToString()}" + $"\n\tbalance zone: {bussinesService.GetMostWantedBalanceById(randomShareholderA.Id).BalanceZone.ToString()}"); Console.WriteLine($"Buyer's " + $"\n\tbalance value: {bussinesService.GetMostWantedBalanceById(randomShareholderB.Id).BalanceValue.ToString()}" + $"\n\tbalance zone: {bussinesService.GetMostWantedBalanceById(randomShareholderB.Id).BalanceZone.ToString()}"); }
public void ShouldRegisterNewTrade() { Stock stock = new Stock() { NameTypeOfStock = "Pollyanna", Cost = 1300 }; Client seller = new Client() { FirstName = "Moon", LastName = "Pilot", Balance = -1000, PhoneNumber = "765899", Zone = ClientZoneOfBalance.Black, Stocks = new List <Stock>() { stock } }; Client buyer = new Client { FirstName = "Mary", LastName = "Poppins", Balance = 1300, Zone = ClientZoneOfBalance.Green, Stocks = new List <Stock>() { stock } }; Trade trade = new Trade() { Seller = seller, Buyer = buyer, StockFromSeller = stock }; bussinesService.RegisterNewTrade(trade); Received.InOrder(() => { dataContextRepository.Received(1).Add(Arg.Any <Trade>()); dataContextRepository.Received(2).Update(Arg.Any <Client>()); dataContextRepository.Received(1).SaveChanges(); }); }