public void EventFromJsonEventSecondHalfTest()
        {
            // set up
            DateTime start = new DateTime(2014, 1, 1);
            GameEventMiner miner = new GameEventMiner();
            GameEvent evnt = null;
            Game game = new Game()
            {
                Id = 1,
                Start = start,
                HalftimeStart = start.AddMinutes(45)
            };
            JsonGameEvent jsonEvnt = new JsonGameEvent()
            {
                Comment = "Goal",
                CommentTypeId = 1,
                MatchPeriodId = 2,
                Minute = 55,
                Second = 2,
                Time = "55'"
            };

            // exercise
            evnt = miner.EventFromJsonEvent(jsonEvnt, game);

            // validate
            Assert.IsNotNull(evnt);
            Assert.AreEqual(GameEventType.GOAL, evnt.Type);
            Assert.AreEqual(new DateTime(2014, 1, 1, 1, 10, 2), evnt.Timestamp);
            Assert.AreEqual("55'", evnt.MatchTime);
            Assert.AreEqual("Goal", evnt.Comment);
        }
        public void EventFromJsonEventFailTest()
        {
            // set up
            GameEventMiner miner = new GameEventMiner();
            GameEvent evnt = null;
            Game game = new Game()
            {
                Id = 1,
                Start = new DateTime(2014, 1, 1)
            };
            JsonGameEvent jsonEvnt = new JsonGameEvent()
            {
                Comment = "Invalid",
                CommentTypeId = 99,
                MatchPeriodId = 1,
                Minute = 40,
                Second = 2,
                Time = "40'"
            };

            // exercise
            evnt = miner.EventFromJsonEvent(jsonEvnt, game);

            // validate
            Assert.IsNull(evnt);
        }
        public void EventFromJsonEventTest()
        {
            // set up
            GameEventMiner miner = new GameEventMiner();
            GameEvent evnt = null;
            Game game = new Game()
            {
                Id = 1,
                Start = new DateTime(2014, 1, 1)
            };
            JsonGameEvent jsonEvnt = new JsonGameEvent()
            {
                Comment = "Goal",
                CommentTypeId = 5,
                MatchPeriodId = 1,
                Minute = 40,
                Second = 2,
                Time = "40'"
            };

            // exercise
            evnt = miner.EventFromJsonEvent(jsonEvnt, game);

            // validate
            Assert.IsNotNull(evnt);
            Assert.AreEqual(GameEventType.RED, evnt.Type);
            Assert.AreEqual(new DateTime(2014, 1, 1, 0, 40, 2), evnt.Timestamp);
            Assert.AreEqual("40'", evnt.MatchTime);
            Assert.AreEqual("Goal", evnt.Comment);
        }