string exportToXML(Race race) { DSVExport dsvExport = new DSVExport(); MemoryStream xmlData = new MemoryStream(); dsvExport.ExportXML(xmlData, race); // Convert to string xmlData.Position = 0; StreamReader reader = new StreamReader(xmlData); return(reader.ReadToEnd()); }
public void BasicExceptions_MandatoryFields() { var model = createTestDataModel1Race1Run(); DSVExport dsvExport = new DSVExport(); MemoryStream xmlData = null; var raceProps = new AdditionalRaceProperties(); model.GetRace(0).AdditionalProperties = raceProps; xmlData = new MemoryStream(); Assert.AreEqual("missing racedate", Assert.ThrowsException <DSVExportException>(() => dsvExport.ExportXML(xmlData, model.GetRace(0))).Message); raceProps.DateResultList = DateTime.Today; xmlData = new MemoryStream(); Assert.AreEqual("missing raceid", Assert.ThrowsException <DSVExportException>(() => dsvExport.ExportXML(xmlData, model.GetRace(0))).Message); model.GetRace(0).AdditionalProperties.RaceNumber = "1234"; xmlData = new MemoryStream(); Assert.AreEqual("missing raceorganizer", Assert.ThrowsException <DSVExportException>(() => dsvExport.ExportXML(xmlData, model.GetRace(0))).Message); model.GetRace(0).AdditionalProperties.Organizer = "WSV Glonn"; xmlData = new MemoryStream(); Assert.AreEqual("missing racename", Assert.ThrowsException <DSVExportException>(() => dsvExport.ExportXML(xmlData, model.GetRace(0))).Message); model.GetRace(0).AdditionalProperties.Description = "Test Race"; xmlData = new MemoryStream(); Assert.AreEqual("missing raceplace", Assert.ThrowsException <DSVExportException>(() => dsvExport.ExportXML(xmlData, model.GetRace(0))).Message); model.GetRace(0).AdditionalProperties.Location = "Test Location"; xmlData = new MemoryStream(); Assert.AreEqual("missing useddsvlist", Assert.ThrowsException <DSVExportException>(() => dsvExport.ExportXML(xmlData, model.GetRace(0))).Message); model.GetDB().StoreKeyValue("DSV_UsedDSVList", "123"); xmlData = new MemoryStream(); Assert.AreEqual("missing f-value", Assert.ThrowsException <DSVExportException>(() => dsvExport.ExportXML(xmlData, model.GetRace(0))).Message); model.GetRace(0).RaceConfiguration.ValueF = 720.0; xmlData = new MemoryStream(); Assert.AreEqual("wrong raceresultview", Assert.ThrowsException <DSVExportException>(() => dsvExport.ExportXML(xmlData, model.GetRace(0))).Message); var rvp = new DSVSchoolRaceResultViewProvider(); rvp.Init(model.GetRace(0), model); model.GetRace(0).SetResultViewProvider(rvp); xmlData = new MemoryStream(); Assert.AreEqual("missing racejury ChiefRace", Assert.ThrowsException <DSVExportException>(() => dsvExport.ExportXML(xmlData, model.GetRace(0))).Message); model.GetRace(0).AdditionalProperties.RaceManager = new AdditionalRaceProperties.Person { Name = "Race Manager", Club = "Club" }; xmlData = new MemoryStream(); Assert.AreEqual("missing racejury Referee", Assert.ThrowsException <DSVExportException>(() => dsvExport.ExportXML(xmlData, model.GetRace(0))).Message); model.GetRace(0).AdditionalProperties.RaceReferee = new AdditionalRaceProperties.Person { Name = "Race Referee", Club = "Club" }; xmlData = new MemoryStream(); Assert.AreEqual("missing racejury RepresentativeTrainer", Assert.ThrowsException <DSVExportException>(() => dsvExport.ExportXML(xmlData, model.GetRace(0))).Message); model.GetRace(0).AdditionalProperties.TrainerRepresentative = new AdditionalRaceProperties.Person { Name = "Trainer Rep", Club = "Club" }; xmlData = new MemoryStream(); Assert.AreEqual("missing coarsename", Assert.ThrowsException <DSVExportException>(() => dsvExport.ExportXML(xmlData, model.GetRace(0))).Message); raceProps.CoarseName = "Kurs 1"; xmlData = new MemoryStream(); Assert.AreEqual("missing number_of_gates", Assert.ThrowsException <DSVExportException>(() => dsvExport.ExportXML(xmlData, model.GetRace(0))).Message); raceProps.RaceRun1.Gates = 10; xmlData = new MemoryStream(); Assert.AreEqual("missing number_of_turninggates", Assert.ThrowsException <DSVExportException>(() => dsvExport.ExportXML(xmlData, model.GetRace(0))).Message); raceProps.RaceRun1.Turns = 9; xmlData = new MemoryStream(); Assert.AreEqual("missing startaltitude", Assert.ThrowsException <DSVExportException>(() => dsvExport.ExportXML(xmlData, model.GetRace(0))).Message); raceProps.StartHeight = 1000; xmlData = new MemoryStream(); Assert.AreEqual("missing finishaltitude", Assert.ThrowsException <DSVExportException>(() => dsvExport.ExportXML(xmlData, model.GetRace(0))).Message); raceProps.FinishHeight = 100; xmlData = new MemoryStream(); Assert.AreEqual("missing courselength", Assert.ThrowsException <DSVExportException>(() => dsvExport.ExportXML(xmlData, model.GetRace(0))).Message); raceProps.CoarseLength = 1000; xmlData = new MemoryStream(); Assert.AreEqual("missing coursesetter", Assert.ThrowsException <DSVExportException>(() => dsvExport.ExportXML(xmlData, model.GetRace(0))).Message); raceProps.RaceRun1.CoarseSetter = new AdditionalRaceProperties.Person { Name = "Sven Flossmann", Club = "WSV Glonn" }; xmlData = new MemoryStream(); Assert.AreEqual("missing forerunner", Assert.ThrowsException <DSVExportException>(() => dsvExport.ExportXML(xmlData, model.GetRace(0))).Message); raceProps.RaceRun1.Forerunner1 = new AdditionalRaceProperties.Person { Name = "Fore Runner", Club = "WSV Glonn" }; // No exception is allow to occur here xmlData = new MemoryStream(); dsvExport.ExportXML(xmlData, model.GetRace(0)); }