public void Spanning_Hours_Calculated_Correctly_Only_One_Hour()
        {
            var factory = new ChatHourFactory();

            var times = factory.GetSpanningHours(
                new Chat()
                {
                    ChatDate = GetDateTime(8, 10),
                    Minutes = 30
                });

            Assert.AreEqual(times.Count(), 1);
            Assert.AreEqual(times.First().Hour, 8);
        }
        public void Spanning_Hours_Calculated_Correctly_Less_Than_Two_Hour_Span_Two_Hours()
        {
            var factory = new ChatHourFactory();

            var times = factory.GetSpanningHours(
                new Chat()
                {
                    ChatDate = GetDateTime(8, 12),
                    Minutes = 70
                });

            Assert.AreEqual(times.Count(), 2);
            Assert.AreEqual(times.First().Hour, 8);
            Assert.AreEqual(times.Last().Hour, 9);
        }
        public void Spanning_Hours_Calculated_Correctly_On_The_Hour()
        {
            var factory = new ChatHourFactory();

            var times = factory.GetSpanningHours(
                new Chat()
                {
                    ChatDate = GetDateTime(8, 0),
                    Minutes = 120
                });

            var list = times.ToList();
            Assert.AreEqual(list.Count, 3);
            Assert.AreEqual(list[0].Hour, 8);
            Assert.AreEqual(list[1].Hour, 9);
            Assert.AreEqual(list[2].Hour, 10);
        }
        public void Spanning_Hours_Calculated_Correctly_Spilling_Into_New_Day()
        {
            var factory = new ChatHourFactory();

            var times = factory.GetSpanningHours(
                new Chat()
                {
                    ChatDate = GetDateTime(23, 30),
                    Minutes = 60
                });

            Assert.AreEqual(times.Count(), 2);
            Assert.AreEqual(times.First().Hour, 23);
            Assert.AreEqual(times.Last().Hour, 0);
        }