using Aufgabe11; namespace Aufgabe12 { [TestClass] public class SalesRepresentativeRepositoryTest { public static SalesRepresentativeRepository Repo1 = new SalesRepresentativeRepository(); public static List EmtyList = new List(); public static List GetDummySalesRepresentatives() { return new List { new SalesRepresentative { FirstName = "Alice", LastName = "Smith", Company = "TechCorp", Area = "Hessen", SalesVolume = 15000 }, new SalesRepresentative { FirstName = "Bob", LastName = "Johnson", Company = "InnovateInc", Area = "Hessen", SalesVolume = 900 }, new SalesRepresentative { FirstName = "Charlie", LastName = "Brown", Company = "InnovateInc", Area = "Baden-Württemberg", SalesVolume = 18000 } }; } [TestMethod] public void GetSalesRepsFromBadenWuerttembergNullTest() { var result = Repo1.GetSalesRepsFromBadenWuerttemberg(null); // Assert.ThrowsException(() => Repo1.GetSalesRepsFromBadenWuerttemberg(null)); Assert.IsNotNull(result); Assert.AreEqual(0, result.Count); } [TestMethod] public void GetSalesRepsFromBadenWuerttembergEmtyTest() { var result = Repo1.GetSalesRepsFromBadenWuerttemberg(EmtyList); Assert.IsNotNull(result); Assert.AreEqual(0, result.Count); } [TestMethod] public void GetSalesRepsFromBadenWuerttembergDummyTest() { var result = Repo1.GetSalesRepsFromBadenWuerttemberg(GetDummySalesRepresentatives()); Assert.IsNotNull(result); Assert.AreEqual(1, result.Count); var expected = new List<(string, string, string, decimal)> { ("Charlie", "Brown", "InnovateInc", 18000) }; CollectionAssert.AreEqual(expected, result); } [TestMethod] public void GetSalesRepsGroupedByCompanyNullTest() { var result = Repo1.GetSalesRepsGroupedByCompany(null); // Assert.ThrowsException(() => Repo1.GetSalesRepsGroupedByCompany(null)); Assert.IsNotNull(result); Assert.AreEqual(0, result.Count); } [TestMethod] public void GetSalesRepsGroupedByCompanyEmtyTest() { var result = Repo1.GetSalesRepsGroupedByCompany(EmtyList); Assert.IsNotNull(result); Assert.AreEqual(0, result.Count); } [TestMethod] public void GetSalesRepsGroupedByCompanyDummyTest() { var result = Repo1.GetSalesRepsGroupedByCompany(GetDummySalesRepresentatives()); Assert.IsNotNull(result); Assert.AreEqual(2, result.Count); var expected = new List<(string, string, string, string, decimal)> { ("Charlie", "Brown", "InnovateInc", "Baden-Württemberg", 18000), ("Alice", "Smith", "TechCorp", "Hessen", 15000) }; CollectionAssert.AreEqual(expected, result); } [TestMethod] public void GetTopTenLosersNullTest() { var result = Repo1.GetTopTenLosers(null); // Assert.ThrowsException(() => Repo1.GetTopTenLosers(null)); Assert.IsNotNull(result); Assert.AreEqual(0, result.Count); } [TestMethod] public void GetTopTenLosersEmtyTest() { var result = Repo1.GetTopTenLosers(EmtyList); Assert.IsNotNull(result); Assert.AreEqual(0, result.Count); } [TestMethod] public void GetTopTenLosersDummyTest() { var result = Repo1.GetTopTenLosers(GetDummySalesRepresentatives()); Assert.IsNotNull(result); Assert.AreEqual(3, result.Count); var expected = new List<(string, string, string, string, decimal)> { ("Bob", "Johnson", "InnovateInc", "Hessen", 900), ("Alice", "Smith", "TechCorp", "Hessen", 15000), ("Charlie", "Brown", "InnovateInc", "Baden-Württemberg", 18000) }; CollectionAssert.AreEqual(expected, result); } } }