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);
                }
            }
        }
Beispiel #4
0
        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 */ }
        }
Beispiel #6
0
        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 */ }
        }