From 9afc8712f123686df7c15de65d389575f4971ebb Mon Sep 17 00:00:00 2001 From: robertfeo Date: Thu, 14 Dec 2023 21:35:19 +0100 Subject: [PATCH] update iter 6 --- .gitignore | 108 ++++++++++++++++++ TheMiddleman/Entities/Middleman.cs | 1 + .../bin/Debug/net8.0/TheMiddleman.dll | Bin 44032 -> 47104 bytes .../bin/Debug/net8.0/TheMiddleman.pdb | Bin 27300 -> 28580 bytes .../bin/Debug/net8.0/nunit_random_seed.tmp | 2 +- .../business_logic/MiddlemanService.cs | 5 + .../exceptions/LoanAlreadyExistsException.cs | 16 +++ .../Debug/net8.0/TheMiddleman.AssemblyInfo.cs | 2 +- .../TheMiddleman.AssemblyInfoInputs.cache | 2 +- ...heMiddleman.csproj.CoreCompileInputs.cache | 2 +- .../obj/Debug/net8.0/TheMiddleman.dll | Bin 44032 -> 47104 bytes .../obj/Debug/net8.0/TheMiddleman.pdb | Bin 27300 -> 28580 bytes .../Debug/net8.0/TheMiddleman.sourcelink.json | 2 +- .../obj/Debug/net8.0/ref/TheMiddleman.dll | Bin 14336 -> 15360 bytes .../obj/Debug/net8.0/refint/TheMiddleman.dll | Bin 14336 -> 15360 bytes TheMiddleman/tests/MiddlemanServiceTests.cs | 108 +++++++++++++++++- TheMiddleman/user_interface/ConsoleUI.cs | 49 ++++---- 17 files changed, 270 insertions(+), 27 deletions(-) create mode 100644 .gitignore create mode 100644 TheMiddleman/exceptions/LoanAlreadyExistsException.cs diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..76ced7d --- /dev/null +++ b/.gitignore @@ -0,0 +1,108 @@ +# Build results +[Bb]in/ +[Oo]bj/ +[Ll]og/ +[Ll]ogs/ + +# Visual Studio temporary files, build results, and +# files generated by popular Visual Studio add-ons. +.vs/ +.vscode/ +*.user +*.userosscache +*.suo +*.userprefs +*.pdb +*.ilk +*.log +*.tlog +*.cache +*.vspscc +*_i.c +*_p.c +*.dbmdl +*.dbproj.schemaview +*.jfm +*.scc +*.swp +*.bak +*.tmp +*.mdf +*.ldf +*.sdf +*.sqlite +*.opendb +*.ejdb +*.ravendb + +# The packages folder can be excluded because of Package Restore +**/[Pp]ackages/* + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Visual Studio Code +.history/ + +# User-specific files +*.rsuser +*.sln.docstates + +# Mono Auto Generated Files +mono_crash.* + +# Windows image file caches +Thumbs.db +ehthumbs.db + +# Folder config file +Desktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Mac desktop service store files +.DS_Store + +# NuGet Packages +*.nupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config + +# Windows-specific files +[Tt]humbs.db +[Dd]esktop.ini + +# Visual Studio files +*.mdf +*.ldf +*.ndf +*.sdf +*.sqlproj.user + +# Rider +.idea/ +*.sln.iml + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs \ No newline at end of file diff --git a/TheMiddleman/Entities/Middleman.cs b/TheMiddleman/Entities/Middleman.cs index e366374..cd8726f 100644 --- a/TheMiddleman/Entities/Middleman.cs +++ b/TheMiddleman/Entities/Middleman.cs @@ -14,6 +14,7 @@ public class Middleman public double DailyStorageCosts { get; set; } public bool BankruptcyNotified { get; set; } = false; public Loan? CurrentLoan { get; set; } + public bool LoanRepaymentNotified { get; set; } = false; public Middleman(string name, string company, double accountBalance) { diff --git a/TheMiddleman/bin/Debug/net8.0/TheMiddleman.dll b/TheMiddleman/bin/Debug/net8.0/TheMiddleman.dll index 625373af8e5114fa36445793a8179c1bf23f262c..bb2383047c899d3e317f98dbb8e67a8ea7eeceec 100644 GIT binary patch literal 47104 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 delta 19864 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 bvO1LNOLgrxw_l~IwYBY$C;qD3TI>BE&_9`v diff --git a/TheMiddleman/bin/Debug/net8.0/TheMiddleman.pdb b/TheMiddleman/bin/Debug/net8.0/TheMiddleman.pdb index 00656f33c6ebac720190550dedff05dc99006dba..f58715a6e71697c33158bad8eae248e5718febf8 100644 GIT binary patch delta 8056 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 delta 19864 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 bvO1LNOLgrxw_l~IwYBY$C;qD3TI>BE&_9`v diff --git a/TheMiddleman/obj/Debug/net8.0/TheMiddleman.pdb b/TheMiddleman/obj/Debug/net8.0/TheMiddleman.pdb index 00656f33c6ebac720190550dedff05dc99006dba..f58715a6e71697c33158bad8eae248e5718febf8 100644 GIT binary patch delta 8056 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 literal 14336 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 literal 14336 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 => _middlemanService!.IncreaseWarehouseCapacity(_middleman!, increaseAmount)); + } + + [Test] + public void IncreaseWarehouseCapacity_SufficientFunds_SuccessfulIncrease() + { + _middleman!.AccountBalance = 10000; + int increaseAmount = 50; + _middlemanService!.IncreaseWarehouseCapacity(_middleman!, increaseAmount); + ClassicAssert.AreEqual(100 + increaseAmount, _middleman.MaxStorageCapacity); + } + + [Test] + public void DeductStorageCosts_InsufficientFunds_ThrowsException() + { + _middleman!.AccountBalance = 0; + Assert.Throws(() => + { + _middlemanService!.DeductStorageCosts(_middleman!); + }); + } + [Test] public void PurchaseProduct_SuccessfulPurchase_DecreasesAccountBalance() { @@ -61,6 +88,15 @@ public void PurchaseProduct_SuccessfulPurchase_UpdatesDailyReport() ClassicAssert.AreEqual(totalCost, _middleman!.DailyExpenses); } + [Test] + public void CalculateDiscount_LargeQuantity_ReturnsExpectedDiscount() + { + _middlemanService!.PurchaseProduct(_middleman!, _product!, 80); + double expectedDiscount = 0.10; + double discount = _middlemanService.CalculateDiscount(_product!, _middleman!); + ClassicAssert.AreEqual(expectedDiscount, discount); + } + [Test] public void PurchaseProduct_InsufficientFunds_ThrowsException() { @@ -107,10 +143,41 @@ public void PurchaseProduct_InsufficientProductQuantity_NoPurchaseMade() ClassicAssert.AreEqual(1, _product!.AvailableQuantity, "Product quantity should remain unchanged."); } + [Test] + public void SellProduct_SuccessfulSale_IncreasesAccountBalanceAndUpdatesWarehouse() + { + _middlemanService!.PurchaseProduct(_middleman!, _product!, 10); + double initialAccountBalance = _middleman!.AccountBalance; + int sellQuantity = 5; + _middlemanService.SellProduct(_middleman!, _product!, sellQuantity); + ClassicAssert.AreEqual(initialAccountBalance + sellQuantity * _product!.SellingPrice, _middleman.AccountBalance); + ClassicAssert.AreEqual(10 - sellQuantity, _middleman.Warehouse[_product]); + } + + [Test] + public void SellProduct_InsufficientProductQuantity_ThrowsException() + { + _middlemanService!.PurchaseProduct(_middleman!, _product!, 3); + Assert.Throws(() => + { + _middlemanService.SellProduct(_middleman!, _product!, 5); + }); + } + + [Test] + public void SellProduct_SuccessfulSale_UpdatesDailyReport() + { + int purchaseQuantity = 10; + _middlemanService!.PurchaseProduct(_middleman!, _product!, purchaseQuantity); + int sellingQuantity = 5; + double expectedDailyEarnings = sellingQuantity * _product!.SellingPrice; + _middlemanService.SellProduct(_middleman!, _product!, sellingQuantity); + ClassicAssert.AreEqual(expectedDailyEarnings, _middleman!.DailyEarnings); + } + [Test] public void TestTakeOutLoan() { - var marketService = new MarketService(); var middleman = _middleman; _middlemanService!.RegisterNewLoan(3, middleman!, 5000, 0.03); ClassicAssert.IsNotNull(middleman!.CurrentLoan); @@ -135,4 +202,41 @@ public void TestLoanRepayment() ClassicAssert.IsNull(_middleman!.CurrentLoan, "Loan should be repaid and set to null."); ClassicAssert.AreEqual(15000 - expectedRepaymentAmount, _middleman.AccountBalance, "Account balance should decrease by the repayment amount."); } + + [Test] + public void RegisterNewLoan_AlreadyExistingLoan_ThrowsException() + { + _middlemanService!.RegisterNewLoan(1, _middleman!, 5000, 0.05); + Assert.Throws(() => _middlemanService.RegisterNewLoan(2, _middleman!, 3000, 0.04)); + } + + [Test] + public void HandleLoanRepayment_InsufficientFunds_ThrowsException() + { + _middlemanService!.RegisterNewLoan(1, _middleman!, 5000, 0.05); + _middleman!.AccountBalance = 100; + Assert.Throws(() => + { + _middlemanService.HandleLoanRepayment(8, _middleman!); + }); + } + + [Test] + public void ResetDailyReport_ResetsValuesToZero() + { + _middlemanService!.PurchaseProduct(_middleman!, _product!, 2); + _middlemanService.SellProduct(_middleman!, _product!, 1); + _middlemanService.ResetDailyReport(_middleman!); + ClassicAssert.AreEqual(0, _middleman!.DailyExpenses); + ClassicAssert.AreEqual(0, _middleman.DailyEarnings); + ClassicAssert.AreEqual(0, _middleman.DailyStorageCosts); + } + + [Test] + public void GetOwnedProducts_ReturnsCorrectProducts() + { + _middlemanService!.PurchaseProduct(_middleman!, _product!, 5); + var ownedProducts = _middlemanService.GetOwnedProducts(_middleman!); + ClassicAssert.IsTrue(ownedProducts.Contains(_product!)); + } } diff --git a/TheMiddleman/user_interface/ConsoleUI.cs b/TheMiddleman/user_interface/ConsoleUI.cs index cdbbdc7..98272e0 100644 --- a/TheMiddleman/user_interface/ConsoleUI.cs +++ b/TheMiddleman/user_interface/ConsoleUI.cs @@ -200,6 +200,16 @@ private void AddRowsDailyRepot(ref Table table, Middleman middleman) table.AddRow("Einnahmen aus Verkäufen", $"{CurrencyFormatter.FormatPrice(middleman.DailyEarnings)}"); table.AddRow("Lagerkosten", $"{CurrencyFormatter.FormatPrice(middleman.DailyStorageCosts)}"); table.AddRow("Aktueller Kontostand zu Beginn des Tages", $"{CurrencyFormatter.FormatPrice(middleman.AccountBalance)}"); + if (middleman.CurrentLoan != null) + { + table.AddRow("Kredit", $"{CurrencyFormatter.FormatPrice(middleman.CurrentLoan.Amount)}"); + table.AddRow("Kreditfälligkeit", $"{middleman.CurrentLoan.DueDay - _marketService.GetCurrentDay()} Tage"); + } + if (middleman.CurrentLoan == null && middleman.LoanRepaymentNotified) + { + table.AddRow("[green]💸 Kredit wurde zurückgezahlt.[/]"); + middleman.LoanRepaymentNotified = false; + } } private void ShowMenuAndTakeAction(Middleman middleman, int currentDay) @@ -255,36 +265,34 @@ private void EndRound(ref bool endRound) private void ShowLoan(Middleman middleman) { - if (middleman.CurrentLoan != null) - { - ShowErrorLog("Es besteht bereits ein Kredit."); - return; - } - else - { - var loanOptions = new Dictionary + var loanOptions = new Dictionary { {1, (5000, 0.03, 5150)}, {2, (10000, 0.05, 10500)}, {3, (25000, 0.08, 27000)} }; - var prompt = new SelectionPrompt() - .Title("Wählen Sie einen Kredit aus:") - .PageSize(10) - .AddChoices(new[] { + var prompt = new SelectionPrompt() + .Title("Wählen Sie einen Kredit aus:") + .PageSize(10) + .AddChoices(new[] { "1) $5000 mit 3% Zinsen (=$5150 Rückzahlung)", "2) $10000 mit 5% Zinsen (=$10500 Rückzahlung)", "3) $25000 mit 8% Zinsen (=$27000 Rückzahlung)" - }); - string choice = AnsiConsole.Prompt(prompt); - int selectedOption = int.Parse(choice.Substring(0, 1)); - (double amount, double interestRate, double repaymentAmount) = loanOptions[selectedOption]; - _marketService!.MiddlemanService().RegisterNewLoan(_marketService.GetCurrentDay(), middleman, amount, interestRate); + }); + string choice = AnsiConsole.Prompt(prompt); + int selectedOption = int.Parse(choice.Substring(0, 1)); + (double amount, double interestRate, double repaymentAmount) = loanOptions[selectedOption]; + try + { + _marketService.MiddlemanService().RegisterNewLoan(_marketService.GetCurrentDay(), middleman, amount, interestRate); ShowMessage($"Kredit über ${amount} mit {interestRate * 100}% Zinsen erfolgreich aufgenommen. Rückzahlung: ${repaymentAmount}."); } + catch (LoanAlreadyExistsException ex) + { + ShowErrorLog(ex.Message); + } } - private void ShowShopping(Middleman middleman) { ShowShoppingMenu(middleman); @@ -329,7 +337,8 @@ private void InitiateSelling(Middleman middleman, string userInput) } catch (FormatException) { ShowErrorLog("Ungültige Eingabe."); } catch (ProductNotAvailableException ex) { ShowErrorLog(ex.Message); } - catch (Exception ex) { ShowErrorLog(ex.Message); } + catch (InvalidOperationException) { ShowErrorLog("Ungültige Eingabe."); } + catch (ArgumentOutOfRangeException) { ShowErrorLog("Produkt ID nicht gefunden"); } } private void ShowSelling(Middleman middleman) @@ -462,7 +471,7 @@ private void ShowCurrentDay(int currentDay) Console.WriteLine("\n"); } - private String GetUserInput() + private string GetUserInput() { return Console.ReadLine() ?? ""; }