public void Race_IsComplete()
        {
            TestDataGenerator tg = new TestDataGenerator();
            Race    race         = tg.Model.GetRace(0);
            RaceRun rr1          = race.GetRun(0);
            RaceRun rr2          = race.GetRun(1);

            Assert.IsFalse(rr1.IsComplete);

            tg.createRaceParticipants(1);

            Assert.IsFalse(rr1.IsComplete);
            Assert.IsFalse(rr2.IsComplete);
            Assert.IsFalse(race.IsComplete);

            rr1.SetRunTime(race.GetParticipant(1), new TimeSpan(0, 1, 0));
            Assert.IsTrue(rr1.IsComplete);
            Assert.IsFalse(rr2.IsComplete);
            Assert.IsFalse(race.IsComplete);

            rr2.SetRunTime(race.GetParticipant(1), new TimeSpan(0, 1, 0));
            Assert.IsTrue(rr1.IsComplete);
            Assert.IsTrue(rr2.IsComplete);
            Assert.IsTrue(race.IsComplete);

            rr2.DeleteRunResults();
            Assert.IsTrue(rr1.IsComplete);
            Assert.IsFalse(rr2.IsComplete);
            Assert.IsFalse(race.IsComplete);
        }
示例#2
0
 /// <summary>
 /// Saves all runtimes to the race run specified
 /// </summary>
 public void Save(RaceRun raceRun)
 {
     foreach (var entry in _importEntries)
     {
         if (entry.Participant != null)
         {
             raceRun.SetRunTime(entry.Participant, entry.RunTime);
         }
     }
 }
示例#3
0
        public void TestMethod1()
        {
            TestDataGenerator tg = new TestDataGenerator();

            tg.createCatsClassesGroups();
            Race race = tg.Model.GetRace(0);

            tg.createRaceParticipant(cat: tg.findCat('M'), cla: tg.findClass("2M (2010)"), points: 1.0); // 1
            tg.createRaceParticipant(cat: tg.findCat('M'), cla: tg.findClass("2M (2010)"), points: 2.0);
            tg.createRaceParticipant(cat: tg.findCat('M'), cla: tg.findClass("2M (2010)"), points: 3.0);

            tg.createRaceParticipant(cat: tg.findCat('W'), cla: tg.findClass("2W (2010)"), points: 1.5); // 4
            tg.createRaceParticipant(cat: tg.findCat('W'), cla: tg.findClass("2W (2010)"), points: 2.5);
            tg.createRaceParticipant(cat: tg.findCat('W'), cla: tg.findClass("2W (2010)"), points: 3.5); // 6

            RaceRun rr1 = race.GetRun(0);
            RaceRun rr2 = race.GetRun(1);

            rr1.SetStartFinishTime(race.GetParticipant(1), new TimeSpan(8, 0, 0), new TimeSpan(8, 1, 0));
            rr2.SetRunTime(race.GetParticipant(1), new TimeSpan(0, 0, 2, 0, 123));

            rr1.SetRunTime(race.GetParticipant(2), new TimeSpan(0, 1, 1));
            rr1.SetResultCode(race.GetParticipant(3), RunResult.EResultCode.NiZ);

            Export  export = new Export(tg.Model.GetRace(0));
            DataSet ds     = export.ExportToDataSet();

            Assert.AreEqual("Name 1", ds.Tables[0].Rows[0]["Name"]);
            Assert.AreEqual("Name 2", ds.Tables[0].Rows[1]["Name"]);
            Assert.AreEqual("Name 3", ds.Tables[0].Rows[2]["Name"]);
            Assert.AreEqual("Name 4", ds.Tables[0].Rows[3]["Name"]);
            Assert.AreEqual("Name 5", ds.Tables[0].Rows[4]["Name"]);
            Assert.AreEqual("Name 6", ds.Tables[0].Rows[5]["Name"]);

            Assert.AreEqual("Firstname 1", ds.Tables[0].Rows[0]["Firstname"]);
            Assert.AreEqual(1.0, ds.Tables[0].Rows[0]["Points"]);
            Assert.AreEqual(new TimeSpan(0, 1, 0), ds.Tables[0].Rows[0]["Runtime_1"]);
            Assert.AreEqual("Normal", ds.Tables[0].Rows[0]["Resultcode_1"]);
            Assert.AreEqual(new TimeSpan(0, 0, 2, 0, 120), ds.Tables[0].Rows[0]["Runtime_2"]);
            Assert.AreEqual("Normal", ds.Tables[0].Rows[0]["Resultcode_2"]);
            Assert.AreEqual("NiZ", ds.Tables[0].Rows[2]["Resultcode_1"]);


            var excelExport = new ExcelExport();

            excelExport.Export(@"c:\trash\test.xlsx", ds);

            var csvExport = new CsvExport();

            csvExport.Export(@"c:\trash\test.csv", ds, true);

            var tsvExport = new TsvExport();

            tsvExport.Export(@"c:\trash\test.txt", ds, true);
        }
示例#4
0
        private void BtnManualTimeStore_Click(object sender, RoutedEventArgs e)
        {
            TimeSpan?start = null, finish = null, run = null;

            start  = TimeSpanExtensions.ParseTimeSpan(txtStart.Text);
            finish = TimeSpanExtensions.ParseTimeSpan(txtFinish.Text);
            run    = TimeSpanExtensions.ParseTimeSpan(txtRun.Text);

            uint startNumber = 0U;

            try { startNumber = uint.Parse(txtStartNumber.Text); } catch (Exception) { }
            RaceParticipant participant = _thisRace.GetParticipant(startNumber);

            if (participant != null)
            {
                bool bDifference   = object.Equals((cmbManualMode.SelectedItem as CBItem)?.Value, "Difference");
                bool bDeletingTime = (bDifference && (start == null || finish == null)) || run == null;

                if (bDeletingTime)
                {
                    MessageBoxResult messageBoxResult = System.Windows.MessageBox.Show("Manche Zeiten werden gelöscht\nFortfahren?", "Zeiten löschen?", System.Windows.MessageBoxButton.YesNo, MessageBoxImage.Exclamation);
                    if (messageBoxResult == MessageBoxResult.No)
                    {
                        return;
                    }
                }

                if (bDifference)
                {
                    _currentRaceRun.SetStartFinishTime(participant, start, finish);
                }

                _currentRaceRun.SetRunTime(participant, run);
            }

            selectNextParticipant(participant);
        }
示例#5
0
        public void DSVAlpinExport()
        {
            TestDataGenerator tg = new TestDataGenerator();

            tg.createCatsClassesGroups();
            Race race = tg.Model.GetRace(0);

            var rp = tg.createRaceParticipant(cat: tg.findCat('M'), cla: tg.findClass("2M (2010)"), points: 1.0); // 1

            rp.Participant.SvId   = "123";
            rp.Participant.Year   = 2010;
            rp.Participant.Nation = "Nation";
            rp.Participant.Club   = "Verein";
            tg.createRaceParticipant(cat: tg.findCat('M'), cla: tg.findClass("2M (2010)"), points: 2.0);
            tg.createRaceParticipant(cat: tg.findCat('M'), cla: tg.findClass("2M (2010)"), points: 3.0);

            tg.createRaceParticipant(cat: tg.findCat('W'), cla: tg.findClass("2W (2010)"), points: 1.5); // 4
            tg.createRaceParticipant(cat: tg.findCat('W'), cla: tg.findClass("2W (2010)"), points: 2.5);
            tg.createRaceParticipant(cat: tg.findCat('W'), cla: tg.findClass("2W (2010)"), points: 3.5); // 6

            RaceRun rr1 = race.GetRun(0);
            RaceRun rr2 = race.GetRun(1);

            rr1.SetStartFinishTime(race.GetParticipant(1), new TimeSpan(8, 0, 0), new TimeSpan(8, 1, 0));
            rr2.SetRunTime(race.GetParticipant(1), new TimeSpan(0, 0, 2, 0, 123));

            rr1.SetRunTime(race.GetParticipant(2), new TimeSpan(0, 1, 1));
            rr1.SetResultCode(race.GetParticipant(3), RunResult.EResultCode.NiZ);

            DSVAlpinExport export = new DSVAlpinExport(tg.Model.GetRace(0));
            DataSet        ds     = export.ExportToDataSet();

            // Check Column Names
            int i = 0;

            Assert.AreEqual("Idnr", ds.Tables[0].Columns[i++].ColumnName);
            Assert.AreEqual("Stnr", ds.Tables[0].Columns[i++].ColumnName);
            Assert.AreEqual("DSV-ID", ds.Tables[0].Columns[i++].ColumnName);
            Assert.AreEqual("Name", ds.Tables[0].Columns[i++].ColumnName);
            Assert.AreEqual("Kateg", ds.Tables[0].Columns[i++].ColumnName);
            Assert.AreEqual("JG", ds.Tables[0].Columns[i++].ColumnName);
            Assert.AreEqual("V/G", ds.Tables[0].Columns[i++].ColumnName);
            Assert.AreEqual("Verein", ds.Tables[0].Columns[i++].ColumnName);
            Assert.AreEqual("LPkte", ds.Tables[0].Columns[i++].ColumnName);
            Assert.AreEqual("Total", ds.Tables[0].Columns[i++].ColumnName);
            Assert.AreEqual("Zeit 1", ds.Tables[0].Columns[i++].ColumnName);
            Assert.AreEqual("Zeit 2", ds.Tables[0].Columns[i++].ColumnName);
            Assert.AreEqual("Klasse", ds.Tables[0].Columns[i++].ColumnName);
            Assert.AreEqual("Gruppe", ds.Tables[0].Columns[i++].ColumnName);
            Assert.AreEqual("RPkte", ds.Tables[0].Columns[i++].ColumnName);

            // Check first participant
            Assert.AreEqual(1U, ds.Tables[0].Rows[0]["Stnr"]);
            Assert.AreEqual("123", ds.Tables[0].Rows[0]["DSV-ID"]);
            Assert.AreEqual("Name 1, Firstname 1", ds.Tables[0].Rows[0]["Name"]);
            Assert.AreEqual("M", ds.Tables[0].Rows[0]["Kateg"]);
            Assert.AreEqual(2010u, ds.Tables[0].Rows[0]["JG"]);
            Assert.AreEqual("Nation", ds.Tables[0].Rows[0]["V/G"]);
            Assert.AreEqual("Verein", ds.Tables[0].Rows[0]["Verein"]);
            Assert.AreEqual("1,00", ds.Tables[0].Rows[0]["LPkte"]);
            Assert.AreEqual("1:00,00", ds.Tables[0].Rows[0]["Total"]); // BestRun => 60.0
            Assert.AreEqual("1:00,00", ds.Tables[0].Rows[0]["Zeit 1"]);
            Assert.AreEqual("2:00,12", ds.Tables[0].Rows[0]["Zeit 2"]);
            Assert.AreEqual("Class 2M (2010)", ds.Tables[0].Rows[0]["Klasse"]);
            Assert.AreEqual("Group 2M", ds.Tables[0].Rows[0]["Gruppe"]);
            Assert.AreEqual("---", ds.Tables[0].Rows[0]["RPkte"]);

            // Participant 3, Run1: NIZ
            Assert.AreEqual("NIZ1", ds.Tables[0].Rows[2]["Total"]);
            Assert.AreEqual("NIZ", ds.Tables[0].Rows[2]["Zeit 1"]);
            Assert.AreEqual(DBNull.Value, ds.Tables[0].Rows[2]["Zeit 2"]);
        }