void fillMandatoryFields(AppDataModel model) { var raceProps = new AdditionalRaceProperties(); model.GetRace(0).AdditionalProperties = raceProps; raceProps.DateResultList = DateTime.Today; model.GetRace(0).AdditionalProperties.RaceNumber = "1234"; model.GetRace(0).AdditionalProperties.Organizer = "WSV Glonn"; model.GetRace(0).AdditionalProperties.Description = "Test Race"; model.GetRace(0).AdditionalProperties.Location = "Test Location"; model.GetDB().StoreKeyValue("DSV_UsedDSVList", "123"); model.GetRace(0).AdditionalProperties.RaceManager = new AdditionalRaceProperties.Person { Name = "Race Manager", Club = "Club" }; model.GetRace(0).AdditionalProperties.RaceReferee = new AdditionalRaceProperties.Person { Name = "Referee, Race", Club = "Club" }; model.GetRace(0).AdditionalProperties.TrainerRepresentative = new AdditionalRaceProperties.Person { Name = "T.Rep", Club = "Club" }; raceProps.CoarseName = "Kurs 1"; raceProps.StartHeight = 1000; raceProps.FinishHeight = 100; raceProps.CoarseLength = 1000; raceProps.RaceRun1.Gates = 10; raceProps.RaceRun1.Turns = 9; raceProps.RaceRun1.CoarseSetter = new AdditionalRaceProperties.Person { Name = "Sven Flossmann", Club = "WSV Glonn" }; raceProps.RaceRun1.Forerunner1 = new AdditionalRaceProperties.Person { Name = "F. Runner", Club = "WSV Glonn" }; if (model.GetRace(0).GetMaxRun() > 1) { raceProps.RaceRun2.Gates = 10; raceProps.RaceRun2.Turns = 9; raceProps.RaceRun2.CoarseSetter = new AdditionalRaceProperties.Person { Name = "Sven Flossmann", Club = "WSV Glonn" }; raceProps.RaceRun2.Forerunner1 = new AdditionalRaceProperties.Person { Name = "F. Runner", Club = "WSV Glonn" }; } model.GetRace(0).RaceConfiguration.ValueF = 720.0; var rvp = new DSVSchoolRaceResultViewProvider(); rvp.Init(model.GetRace(0), model); model.GetRace(0).SetResultViewProvider(rvp); }
public void StoreRaceProperties(Race race, AdditionalRaceProperties props) { }
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)); }
private void prop_ResetChanges() { _addRaceProps = _thisRace.AdditionalProperties.Copy(); tabItemRaceProperties.DataContext = _addRaceProps; }
private bool prop_ExistingChanges() { return(!AdditionalRaceProperties.Equals(_thisRace.AdditionalProperties, _addRaceProps)); }
public void Equals() { var cs1 = new AdditionalRaceProperties.Person { Name = "NameCS 1", Club = "Club 1" }; var p1 = new AdditionalRaceProperties.Person { Name = "Name 1", Club = "Club 1" }; var p2 = new AdditionalRaceProperties.Person { Name = "Name 2", Club = "Club 2" }; var p3 = new AdditionalRaceProperties.Person { Name = "Name 3", Club = "Club 3" }; var rrp1 = new AdditionalRaceProperties.RaceRunProperties { CoarseSetter = cs1, Forerunner1 = p1, Forerunner2 = p2, Forerunner3 = p3, Gates = 10, Turns = 9, StartTime = "10:00" }; var rrp2 = rrp1.Copy(); rrp2.StartTime = "11:00"; AdditionalRaceProperties prop1 = new AdditionalRaceProperties { Location = "Location 1", RaceNumber = "RaceNumber 1", Description = "Description 1", DateStartList = new DateTime(2021, 01, 01), DateResultList = new DateTime(2021, 02, 01), Analyzer = "Analyzer 1", Organizer = "Organizer 1", RaceReferee = new AdditionalRaceProperties.Person { Name = "RaceReferee 1", Club = "Club 1" }, RaceManager = new AdditionalRaceProperties.Person { Name = "RaceManager 1", Club = "Club 1" }, TrainerRepresentative = new AdditionalRaceProperties.Person { Name = "TrainerRepresentative 1", Club = "Club 1" }, CoarseName = "CoarseName 1", CoarseLength = 100, CoarseHomologNo = "CoarseHomologNo 1", StartHeight = 1100, FinishHeight = 1000, RaceRun1 = rrp1, RaceRun2 = rrp2, Weather = "Weather 1", Snow = "Snow 1", TempStart = "TempStart 1", TempFinish = "TempFinish 1" }; AdditionalRaceProperties prop2 = prop1.Copy(); Assert.IsTrue(AdditionalRaceProperties.Equals(prop1, prop1)); Assert.IsTrue(AdditionalRaceProperties.Equals(prop1, prop2)); Assert.IsFalse(AdditionalRaceProperties.Equals(prop1, null)); Assert.IsFalse(AdditionalRaceProperties.Equals(null, prop1)); prop1.Location = "Location 2"; prop1.RaceNumber = "RaceNumber 2"; prop1.Description = "Description 2"; prop1.DateStartList = new DateTime(2021, 01, 02); prop1.DateResultList = new DateTime(2021, 02, 02); prop1.Analyzer = "Analyzer 2"; prop1.Organizer = "Organizer 2"; prop1.RaceReferee = new AdditionalRaceProperties.Person { Name = "RaceReferee 2", Club = "Club 2" }; prop1.RaceManager = new AdditionalRaceProperties.Person { Name = "RaceManager 2", Club = "Club 2" }; prop1.TrainerRepresentative = new AdditionalRaceProperties.Person { Name = "TrainerRepresentative 2", Club = "Club 2" }; prop1.CoarseName = "CoarseName 2"; prop1.CoarseLength = 200; prop1.CoarseHomologNo = "CoarseHomologNo 2"; prop1.StartHeight = 2100; prop1.FinishHeight = 2000; prop1.RaceRun1 = rrp1; prop1.RaceRun2 = rrp2; prop1.Weather = "Weather 2"; prop1.Snow = "Snow 2"; prop1.TempStart = "TempStart 2"; prop1.TempFinish = "TempFinish 2"; prop1.Location = "Location 1"; Assert.IsFalse(AdditionalRaceProperties.Equals(prop1, prop2)); prop1.RaceNumber = "RaceNumber 1"; Assert.IsFalse(AdditionalRaceProperties.Equals(prop1, prop2)); prop1.Description = "Description 1"; Assert.IsFalse(AdditionalRaceProperties.Equals(prop1, prop2)); prop1.DateStartList = new DateTime(2021, 01, 01); Assert.IsFalse(AdditionalRaceProperties.Equals(prop1, prop2)); prop1.DateResultList = new DateTime(2021, 02, 01); Assert.IsFalse(AdditionalRaceProperties.Equals(prop1, prop2)); prop1.Analyzer = "Analyzer 1"; Assert.IsFalse(AdditionalRaceProperties.Equals(prop1, prop2)); prop1.Organizer = "Organizer 1"; Assert.IsFalse(AdditionalRaceProperties.Equals(prop1, prop2)); prop1.RaceReferee = new AdditionalRaceProperties.Person { Name = "RaceReferee 1", Club = "Club 1" }; Assert.IsFalse(AdditionalRaceProperties.Equals(prop1, prop2)); prop1.RaceManager = new AdditionalRaceProperties.Person { Name = "RaceManager 1", Club = "Club 1" }; Assert.IsFalse(AdditionalRaceProperties.Equals(prop1, prop2)); prop1.TrainerRepresentative = new AdditionalRaceProperties.Person { Name = "TrainerRepresentative 1", Club = "Club 1" }; Assert.IsFalse(AdditionalRaceProperties.Equals(prop1, prop2)); prop1.CoarseName = "CoarseName 1"; Assert.IsFalse(AdditionalRaceProperties.Equals(prop1, prop2)); prop1.CoarseLength = 100; Assert.IsFalse(AdditionalRaceProperties.Equals(prop1, prop2)); prop1.CoarseHomologNo = "CoarseHomologNo 1"; Assert.IsFalse(AdditionalRaceProperties.Equals(prop1, prop2)); prop1.StartHeight = 1100; Assert.IsFalse(AdditionalRaceProperties.Equals(prop1, prop2)); prop1.FinishHeight = 1000; Assert.IsFalse(AdditionalRaceProperties.Equals(prop1, prop2)); prop1.RaceRun1 = rrp1; Assert.IsFalse(AdditionalRaceProperties.Equals(prop1, prop2)); prop1.RaceRun2 = rrp2; Assert.IsFalse(AdditionalRaceProperties.Equals(prop1, prop2)); prop1.Weather = "Weather 1"; Assert.IsFalse(AdditionalRaceProperties.Equals(prop1, prop2)); prop1.Snow = "Snow 1"; Assert.IsFalse(AdditionalRaceProperties.Equals(prop1, prop2)); prop1.TempStart = "TempStart 1"; Assert.IsFalse(AdditionalRaceProperties.Equals(prop1, prop2)); prop1.TempFinish = "TempFinish 1"; Assert.IsTrue(AdditionalRaceProperties.Equals(prop1, prop2)); }