public void DidNotStartUpdate_Create() { var dnsUpdate = (DidNotStartUpdate)AthleteUpdate.Create("DidNotStart,35,8/15/2017 8:51:00 AM"); Assert.AreEqual(AthleteRaceStatus.DidNotStart, dnsUpdate.UpdateType); Assert.AreEqual(35, dnsUpdate.BibNumber); Assert.AreEqual(new DateTime(2017, 8, 15, 8, 51, 0), dnsUpdate.Timestamp); try { var msg = AthleteUpdate.Create("DidNotStart,35"); Assert.Fail($"Exception expected when creating: msg={msg}"); } catch { /* ignore */ } try { var msg = AthleteUpdate.Create("DidNotStart"); Assert.Fail($"Exception expected when creating: msg={msg}"); } catch { /* ignore */ } try { var msg = AthleteUpdate.Create("DidNotStart,35,bad,8/15/2017 8:51:00 AM"); Assert.Fail($"Exception expected when creating: msg={msg}"); } catch { /* ignore */ } }
public void DidNotFinishUpdate_Create() { var dnfUpdate = (DidNotFinishUpdate)AthleteUpdate.Create("DidNotFinish,45,8/15/2017 10:52:00 AM"); Assert.IsNotNull(dnfUpdate); Assert.AreEqual(AthleteRaceStatus.DidNotFinish, dnfUpdate.UpdateType); Assert.AreEqual(45, dnfUpdate.BibNumber); Assert.AreEqual(new DateTime(2017, 8, 15, 10, 52, 0), dnfUpdate.Timestamp); try { var msg = AthleteUpdate.Create("DidNotFinish,45"); Assert.Fail($"Exception expected when creating: msg={msg}"); } catch { /* ignore */ } try { var msg = AthleteUpdate.Create("DidNotFinish"); Assert.Fail($"Exception expected when creating: msg={msg}"); } catch { /* ignore */ } try { var msg = AthleteUpdate.Create("DidNotFinish,45,bad,8/15/2017 10:52:00 AM"); Assert.Fail($"Exception expected when creating: msg={msg}"); } catch { /* ignore */ } }
private void SimulateOneSecondOfData() { bool keepingGoing = true; while (keepingGoing && !_reader.EndOfStream) { var line = _reader.ReadLine(); if (line == "---") { keepingGoing = false; } else { var message = AthleteUpdate.Create(line); Handler.ProcessUpdate(message); } } }
public void LocationUpdate_Create() { var locationUpdate = (LocationUpdate)AthleteUpdate.Create("OnCourse,47,8/15/2017 10:26:00 AM,680.067495971265"); Assert.IsNotNull(locationUpdate); Assert.AreEqual(AthleteRaceStatus.OnCourse, locationUpdate.UpdateType); Assert.AreEqual(47, locationUpdate.BibNumber); Assert.AreEqual(new DateTime(2017, 8, 15, 10, 26, 0), locationUpdate.Timestamp); Assert.AreEqual(680.067495971265, locationUpdate.LocationOnCourse, 0.0001); try { var msg = AthleteUpdate.Create("OnCourse,47,8/15/2017 10:26:00 AM"); Assert.Fail($"Exception expected when creating: msg={msg}"); } catch { /* ignore */ } try { var msg = AthleteUpdate.Create("OnCourse,47"); Assert.Fail($"Exception expected when creating: msg={msg}"); } catch { /* ignore */ } try { var msg = AthleteUpdate.Create("OnCourse"); Assert.Fail($"Exception expected when creating: msg={msg}"); } catch { /* ignore */ } try { var msg = AthleteUpdate.Create("OnCourse,47,8/15/2017 10:26:00 AM,680.067495971265,bad"); Assert.Fail($"Exception expected when creating: msg={msg}"); } catch { /* ignore */ } }
public void FinishedUpdate_Create() { var fUpdate = (FinishedUpdate)AthleteUpdate.Create("Finished,84,8/15/2017 2:34:00 PM,8/15/2017 2:33:45 PM"); Assert.IsNotNull(fUpdate); Assert.AreEqual(AthleteRaceStatus.Finished, fUpdate.UpdateType); Assert.AreEqual(84, fUpdate.BibNumber); Assert.AreEqual(new DateTime(2017, 8, 15, 14, 34, 0), fUpdate.Timestamp); Assert.AreEqual(new DateTime(2017, 8, 15, 14, 33, 45), fUpdate.OfficialEndTime); try { var msg = AthleteUpdate.Create("Finished,84,8/15/2017 2:34:00 PM"); Assert.Fail($"Exception expected when creating: msg={msg}"); } catch { /* ignore */ } try { var msg = AthleteUpdate.Create("Finished,84"); Assert.Fail($"Exception expected when creating: msg={msg}"); } catch { /* ignore */ } try { var msg = AthleteUpdate.Create("Finished"); Assert.Fail($"Exception expected when creating: msg={msg}"); } catch { /* ignore */ } try { var msg = AthleteUpdate.Create("Finished,84,bad,8/15/2017 2:34:00 PM,8/15/2017 2:33:45 PM"); Assert.Fail($"Exception expected when creating: msg={msg}"); } catch { /* ignore */ } }
public void RegistrationUpdate_Create() { RegistrationUpdate rUpdate = (RegistrationUpdate)AthleteUpdate.Create("Registered,14,8/15/2017 7:02:05 AM,Jane,Jones,F,16"); Assert.IsNotNull(rUpdate); Assert.AreEqual(AthleteRaceStatus.Registered, rUpdate.UpdateType); Assert.AreEqual(14, rUpdate.BibNumber); Assert.AreEqual(new DateTime(2017, 8, 15, 7, 2, 5), rUpdate.Timestamp); Assert.AreEqual("Jane", rUpdate.FirstName); Assert.AreEqual("Jones", rUpdate.LastName); Assert.AreEqual("F", rUpdate.Gender); Assert.AreEqual(16, rUpdate.Age); try { var msg = AthleteUpdate.Create("Registered,14,8/15/2017 7:02:05 AM,Jane,Jones,F"); Assert.Fail($"Exception expected when creating: msg={msg}"); } catch { /* ignore */ } try { var msg = AthleteUpdate.Create("Registered,14,8/15/2017 7:02:05 AM,Jane,Jones"); Assert.Fail($"Exception expected when creating: msg={msg}"); } catch { /* ignore */ } try { var msg = AthleteUpdate.Create("Registered,14,8/15/2017 7:02:05 AM,Jane"); Assert.Fail($"Exception expected when creating: msg={msg}"); } catch { /* ignore */ } try { var msg = AthleteUpdate.Create("Registered,14,8/15/2017 7:02:05 AM"); Assert.Fail($"Exception expected when creating: msg={msg}"); } catch { /* ignore */ } try { var msg = AthleteUpdate.Create("Registered,14"); Assert.Fail($"Exception expected when creating: msg={msg}"); } catch { /* ignore */ } try { var msg = AthleteUpdate.Create("Registered"); Assert.Fail($"Exception expected when creating: msg={msg}"); } catch { /* ignore */ } try { var msg = AthleteUpdate.Create("Registered,14,8/15/2017 7:02:05 AM,Jane,Jones,F,16,bad"); Assert.Fail($"Exception expected when creating: msg={msg}"); } catch { /* ignore */ } }