static void Main(string[] args) { try { // get xml file path var info = new DirectoryInfo(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location)); var xmlFilePath = Path.Combine(info.Parent.Parent.Parent.FullName, @"FeedData\Caulfield_Race1.xml"); var jsonFilePath = Path.Combine(info.Parent.Parent.Parent.FullName, @"FeedData\Wolferhampton_Race1.json"); var horseRepositoryxml = new HorseDataRepository(new XMLDataContext <Horse>(xmlFilePath)); var priceRepositoryxml = new PriceDataRepository(new XMLDataContext <Price>(xmlFilePath)); var horseRepositoryjson = new HorseDataRepository(new JSONDataContext <Horse>(jsonFilePath)); var priceRepositoryjson = new PriceDataRepository(new JSONDataContext <Price>(jsonFilePath)); var horseOrderingController = new HorseOrderingController(horseRepositoryxml, priceRepositoryxml, horseRepositoryjson, priceRepositoryjson); horseOrderingController.DisplayData(horseOrderingController.GetSortedHorsesByPrice()); Console.ReadLine(); } catch (Exception ex) { Console.WriteLine($"Exception: {ex}"); } }
public void TestVerifyingSortedHorsesAndPrice() { var horseXMLData = new List <Horse>(); horseXMLData.Add(new Horse() { HorseNumber = 1, HorseName = "H1" }); var horseJSONData = new List <Horse>(); horseJSONData.Add(new Horse() { HorseNumber = 2, HorseName = "H2" }); var priceXMLData = new List <Price>(); priceXMLData.Add(new Price() { HoreseNumber = 1, HorsePrice = 8.5 }); var priceJSONData = new List <Price>(); priceJSONData.Add(new Price() { HoreseNumber = 2, HorsePrice = 6.5 }); Mock <IHorseDataRepository> mockHorseXMLDataRepository = new Mock <IHorseDataRepository>(); mockHorseXMLDataRepository.Setup(t => t.GetAll()).Returns(horseXMLData); Mock <IHorseDataRepository> mockHorseJSONDataRepository = new Mock <IHorseDataRepository>(); mockHorseJSONDataRepository.Setup(t => t.GetAll()).Returns(horseJSONData); Mock <IPriceDataRepository> mockPriceXMLDataRepository = new Mock <IPriceDataRepository>(); mockPriceXMLDataRepository.Setup(t => t.GetAll()).Returns(priceXMLData); Mock <IPriceDataRepository> mockPriceJSONDataRepository = new Mock <IPriceDataRepository>(); mockPriceJSONDataRepository.Setup(t => t.GetAll()).Returns(priceJSONData); var sut = new HorseOrderingController(mockHorseXMLDataRepository.Object, mockPriceXMLDataRepository.Object, mockHorseJSONDataRepository.Object, mockPriceJSONDataRepository.Object); var result = (List <HorsePrice>)(sut.GetSortedHorsesByPrice()); Assert.True(result[0].HorseName == "H2" && result[1].HorseName == "H1"); }