public void TotalNumberOfRequestsClientId() { int expectedNumber = 1; int actualNumber = ReportsGenerator.TotalNumberOfRequests(_requestList, "1"); Assert.Equal(expectedNumber, actualNumber); }
public void TotalNumberOfRequestsTest() { int expectedNumber = 2; int actualNumber = ReportsGenerator.TotalNumberOfRequests(_requestList); Assert.Equal(expectedNumber, actualNumber); }
static void Main(string[] args) { Console.WriteLine("Podaj pełną ścieżkę do katalogu z plikami wejściowymi:"); string path = Console.ReadLine(); List<Request> requests = DataLoader.PopulateDbWithData(path); bool exitFlag = false; while (!exitFlag) { MainMenu(); string userChoice = Console.ReadLine(); string clientId; switch (userChoice) { case "a": Console.WriteLine($"\nCałkowita liczba zamówień: {ReportsGenerator.TotalNumberOfRequests(requests)}"); break; case "b": Console.Write("\nPodaj ID klienta: "); clientId = Console.ReadLine(); Console.WriteLine($"\nCałkowita liczba zamówień dla klienta o ID = {clientId}: {ReportsGenerator.TotalNumberOfRequests(requests, clientId)}"); break; case "c": Console.WriteLine($"\nŁączna kwota zamówień: {ReportsGenerator.TotalValueOfRequests(requests)}"); break; case "d": Console.Write("\nPodaj ID klienta: "); clientId = Console.ReadLine(); Console.WriteLine($"\nŁączna kwota zamówień dla klienta o ID = {clientId}: {ReportsGenerator.TotalValueOfRequests(requests, clientId)}"); break; case "e": Console.WriteLine("\nLista wszystkich zamówień:\n"); ReportsGenerator.ListOfAllRequests(requests); Console.Write("Chcesz posortować raport? (t/n): "); string userSort = Console.ReadLine(); SortedReport_E_F(requests, userSort, false); break; case "f": Console.Write("\nPodaj ID klienta: "); clientId = Console.ReadLine(); if (requests.Count(x => x.ClientId == clientId) == 0) { Console.WriteLine("\nBrak klienta o wskazanym ID..."); break; } Console.WriteLine($"\nLista wszystkich zamówień dla klienta o ID = {clientId}:\n"); ReportsGenerator.ListOfAllRequests(requests, clientId); Console.Write("Chcesz posortować raport? (t/n): "); userSort = Console.ReadLine(); SortedReport_E_F(requests, userSort, true, clientId); break; case "g": double averRequest = ReportsGenerator.TotalValueOfRequests(requests) / ReportsGenerator.TotalNumberOfRequests(requests); Console.WriteLine($"\nŚrednia wartość zamówienia: {averRequest.ToString("F", CultureInfo.InvariantCulture)}"); break; case "h": Console.Write("\nPodaj ID klienta: "); clientId = Console.ReadLine(); double averRequestClientId = ReportsGenerator.TotalValueOfRequests(requests, clientId) / ReportsGenerator.TotalNumberOfRequests(requests, clientId); if (double.IsNaN(averRequestClientId)) { Console.WriteLine("\nBrak klienta o wskazanym ID..."); break; } Console.WriteLine($"\nŚrednia wartość zamówienia dla klienta o ID = {clientId}: " + $"{averRequestClientId.ToString("F", CultureInfo.InvariantCulture)}"); break; case "i": Console.WriteLine("\nIlość zamówień pogrupowanych po nazwie:\n"); ReportsGenerator.RequestsAmountGroupedByName(requests); Console.Write("Chcesz posortować raport? (t/n): "); userSort = Console.ReadLine(); SortedReport_I_J(requests, userSort, false); break; case "j": Console.Write("\nPodaj ID klienta: "); clientId = Console.ReadLine(); if (requests.Count(x => x.ClientId == clientId) == 0) { Console.WriteLine("\nBrak klienta o wskazanym ID..."); break; } Console.WriteLine($"\nIlość zamówień pogrupowanych po nazwie dla klienta dla klienta o ID = {clientId}:\n"); ReportsGenerator.RequestsAmountGroupedByName(requests, clientId); Console.Write("Chcesz posortować raport? (t/n): "); userSort = Console.ReadLine(); SortedReport_I_J(requests, userSort, true, clientId); break; case "k": double priceFrom; double priceTo; Console.Write("\nPodaj dolny przedział cen: "); if (Double.TryParse(Console.ReadLine(), out double price1)) priceFrom = price1; else { Console.WriteLine("\nWprowadzono nieprawidłowy znak. Może uda się następnym razem... ;)"); break; } Console.Write("Podaj górny przedział cen: "); if (Double.TryParse(Console.ReadLine(), out double price2)) { priceTo = price2; if (priceTo < priceFrom) { Console.WriteLine("\nPodano złą cenę. Górny przedział cen nie może być niższy od dolnego..."); break; } } else { Console.WriteLine("\nWprowadzono nieprawidłowy znak. Może uda się następnym razem... ;)"); break; } if (requests.Count(c => c.Price >= priceFrom && c.Price <= priceTo) == 0) { Console.WriteLine("\nBrak zamówień w podanym przedziale cenowym..."); break; } Console.WriteLine($"\nZamówienia w przedziale cenowym od {priceFrom} do {priceTo}:\n"); ReportsGenerator.RequestsInPriceRange(requests, priceFrom, priceTo); Console.Write("Chcesz posortować raport? (t/n): "); userSort = Console.ReadLine(); SortedReport_K(requests, userSort, priceFrom, priceTo); break; case "z": exitFlag = true; break; default: Console.WriteLine("\nWprowadzono nieprawidłowy znak. Może uda się następnym razem... ;)"); break; } } }
public void RequestAverageValueClientId() { double expectedValue = 200; double actualValue = ReportsGenerator.TotalValueOfRequests(_requestList, "1") / ReportsGenerator.TotalNumberOfRequests(_requestList, "1"); Assert.Equal(expectedValue, actualValue); }
public void RequestAverageValue() { double expectedValue = 150; double actualValue = ReportsGenerator.TotalValueOfRequests(_requestList) / ReportsGenerator.TotalNumberOfRequests(_requestList); Assert.Equal(expectedValue, actualValue); }