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); }
/// <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); } } }
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); }
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); }
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"]); }