Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
 public void StoreRaceProperties(Race race, AdditionalRaceProperties props)
 {
 }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
 private void prop_ResetChanges()
 {
     _addRaceProps = _thisRace.AdditionalProperties.Copy();
     tabItemRaceProperties.DataContext = _addRaceProps;
 }
Exemplo n.º 5
0
 private bool prop_ExistingChanges()
 {
     return(!AdditionalRaceProperties.Equals(_thisRace.AdditionalProperties, _addRaceProps));
 }
Exemplo n.º 6
0
        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));
        }