public void LTTransfer_IsEmpty() { LiveTimingFIS.LiveTimingFIS lt = new LiveTimingFIS.LiveTimingFIS(); var t1 = new LiveTimingFIS.LTTransfer( @"<?xml version=""1.0"" encoding=""utf-8""?> <livetiming codex=""1234"" passwd=""abc"" sequence=""00050"" timestamp=""05:25:38""> <raceevent>abc</raceevent> </livetiming>" ); Assert.IsFalse(t1.IsEmpty()); var t2 = new LiveTimingFIS.LTTransfer( @"<?xml version=""1.0"" encoding=""utf-8""?> <livetiming codex=""1234"" passwd=""abc"" sequence=""00050"" timestamp=""05:25:38""> <raceevent /> </livetiming>" ); Assert.IsTrue(t2.IsEmpty()); var t3 = new LiveTimingFIS.LTTransfer(lt.getXmlClearRace()); Assert.IsFalse(t3.IsEmpty()); }
public void LTTransfer_IsEqual() { string getXmlEventResult(uint _startNumber, RaceRun _rr, LiveTimingFIS.LiveTimingFIS _lt) { var _results = ViewUtilities.ViewToList <RunResultWithPosition>(_rr.GetResultView()); var _res = _results.FirstOrDefault(_r => _r.StartNumber == _startNumber); return(_lt.getXmlEventResult(_rr, _res)); } string xml; LiveTimingFIS.LiveTimingFIS lt = new LiveTimingFIS.LiveTimingFIS(); TestDataGenerator tg = new TestDataGenerator(); var rp = tg.createRaceParticipant(); rp.Participant.Code = "123"; var r = tg.Model.GetRace(0); var rr1 = r.GetRun(0); rr1.SetStartFinishTime(r.GetParticipant(1), new TimeSpan(0, 08, 0, 0, 0), new TimeSpan(0, 08, 0, 0, 100)); xml = getXmlEventResult(1, rr1, lt); var t1 = new LiveTimingFIS.LTTransfer(xml); var t2 = new LiveTimingFIS.LTTransfer(xml); Assert.IsTrue(t1.IsEqual(t2)); rr1.SetStartFinishTime(r.GetParticipant(1), new TimeSpan(0, 08, 0, 0, 0), new TimeSpan(0, 08, 0, 0, 110)); xml = getXmlEventResult(1, rr1, lt); var t3 = new LiveTimingFIS.LTTransfer(xml); Assert.IsFalse(t1.IsEqual(t3)); }
public void XmlSerializer_EventResult() { string getXmlEventResult(uint _startNumber, RaceRun _rr, LiveTimingFIS.LiveTimingFIS _lt) { var _results = ViewUtilities.ViewToList <RunResultWithPosition>(_rr.GetResultView()); var _res = _results.FirstOrDefault(_r => _r.StartNumber == _startNumber); return(_lt.getXmlEventResult(_rr, _res)); } string xml; LiveTimingFIS.LiveTimingFIS lt = new LiveTimingFIS.LiveTimingFIS(); TestDataGenerator tg = new TestDataGenerator(); var rp = tg.createRaceParticipant(); rp.Participant.Code = "123"; var r = tg.Model.GetRace(0); var rr1 = r.GetRun(0); xml = getXmlEventResult(1, rr1, lt); XmlAssertion.AssertXPathEvaluatesTo("/livetiming/raceevent/finish/@bib", xml, "1"); XmlAssertion.AssertXPathEvaluatesTo("/livetiming/raceevent/finish/@correction", xml, "y"); XmlAssertion.AssertXPathEvaluatesTo("/livetiming/raceevent/finish/time", xml, "0.00"); rr1.SetStartFinishTime(r.GetParticipant(1), new TimeSpan(0, 08, 0, 0, 0), new TimeSpan(0, 08, 0, 0, 100)); xml = getXmlEventResult(1, rr1, lt); XmlAssertion.AssertXPathEvaluatesTo("/livetiming/raceevent/finish/time", xml, "0.10"); rr1.SetStartFinishTime(r.GetParticipant(1), new TimeSpan(0, 08, 0, 0, 0), new TimeSpan(0, 08, 0, 30, 100)); xml = getXmlEventResult(1, rr1, lt); XmlAssertion.AssertXPathEvaluatesTo("/livetiming/raceevent/finish/time", xml, "30.10"); rr1.SetStartFinishTime(r.GetParticipant(1), new TimeSpan(0, 08, 0, 0, 0), new TimeSpan(0, 08, 1, 30, 100)); xml = getXmlEventResult(1, rr1, lt); XmlAssertion.AssertXPathEvaluatesTo("/livetiming/raceevent/finish/time", xml, "1:30.10"); rr1.SetResultCode(r.GetParticipant(1), RunResult.EResultCode.DIS); xml = getXmlEventResult(1, rr1, lt); XmlAssertion.AssertXPathEvaluatesTo("/livetiming/raceevent/dq/@bib", xml, "1"); rr1.SetResultCode(r.GetParticipant(1), RunResult.EResultCode.NaS); xml = getXmlEventResult(1, rr1, lt); XmlAssertion.AssertXPathEvaluatesTo("/livetiming/raceevent/dns/@bib", xml, "1"); rr1.SetResultCode(r.GetParticipant(1), RunResult.EResultCode.NQ); xml = getXmlEventResult(1, rr1, lt); XmlAssertion.AssertXPathEvaluatesTo("/livetiming/raceevent/dns/@bib", xml, "1"); rr1.SetResultCode(r.GetParticipant(1), RunResult.EResultCode.NiZ); xml = getXmlEventResult(1, rr1, lt); XmlAssertion.AssertXPathEvaluatesTo("/livetiming/raceevent/dnf/@bib", xml, "1"); }
public void XmlSerializer() { string xml; LiveTimingFIS.LiveTimingFIS lt = new LiveTimingFIS.LiveTimingFIS(); xml = lt.getXmlKeepAlive(); XmlAssertion.AssertXPathExists("/livetiming/command/keepalive", xml); xml = lt.getXmlClearRace(); XmlAssertion.AssertXPathExists("/livetiming/command/clear", xml); xml = lt.getXmlStatusUpdateInfo("test"); XmlAssertion.AssertXPathExists("/livetiming/message", xml); XmlAssertion.AssertXPathEvaluatesTo("/livetiming/message", xml, "test"); TestDataGenerator tg = new TestDataGenerator(); var rp = tg.createRaceParticipant(); var r = tg.Model.GetRace(0); r.GetParticipant(1).Participant.Nation = "nation"; r.GetParticipant(1).Participant.Code = "123"; var rr1 = r.GetRun(0); xml = lt.getXmlEventOnStart(r.GetParticipant(1)); XmlAssertion.AssertXPathEvaluatesTo("/livetiming/raceevent/nextstart/@bib", xml, "1"); xml = lt.getXmlEventStarted(r.GetParticipant(1)); XmlAssertion.AssertXPathEvaluatesTo("/livetiming/raceevent/start/@bib", xml, "1"); xml = lt.getXmlStartList(rr1); XmlAssertion.AssertXPathEvaluatesTo("/livetiming/startlist/@runno", xml, rr1.Run.ToString()); XmlAssertion.AssertXPathEvaluatesTo("/livetiming/startlist/racer[1]/@order", xml, "1"); XmlAssertion.AssertXPathEvaluatesTo("/livetiming/startlist/racer[1]/bib", xml, "1"); XmlAssertion.AssertXPathEvaluatesTo("/livetiming/startlist/racer[1]/lastname", xml, r.GetParticipant(1).Name); XmlAssertion.AssertXPathEvaluatesTo("/livetiming/startlist/racer[1]/firstname", xml, r.GetParticipant(1).Firstname); XmlAssertion.AssertXPathEvaluatesTo("/livetiming/startlist/racer[1]/nat", xml, r.GetParticipant(1).Nation); XmlAssertion.AssertXPathEvaluatesTo("/livetiming/startlist/racer[1]/fiscode", xml, r.GetParticipant(1).Code); }