コード例 #1
0
        public void ParseVisits()
        {
            var visits = ParsingTask.ParseVisitRecords(
                new[]
            {
                visitsHeaderLine,
                "1;2;2000-01-30;12:00:00",
                "2;2;2000-01-31;12:01:00",
                "1;3;2000-01-29;01:00:00",
                "3;4;2000-02-01;09:10:11"
            },
                new Dictionary <int, SlideRecord>
            {
                { 2, new SlideRecord(2, SlideType.Quiz, "quiz slide") },
                { 3, new SlideRecord(3, SlideType.Exercise, "exercise slide") },
                { 4, new SlideRecord(4, SlideType.Theory, "theory slide") },
                { 5, new SlideRecord(5, SlideType.Theory, "theory slide") }
            });

            Assert.That(visits, Is.EqualTo(new[]
            {
                new VisitRecord(1, 2, new DateTime(2000, 01, 30, 12, 0, 0), SlideType.Quiz),
                new VisitRecord(2, 2, new DateTime(2000, 01, 31, 12, 1, 0), SlideType.Quiz),
                new VisitRecord(1, 3, new DateTime(2000, 01, 29, 01, 0, 0), SlideType.Exercise),
                new VisitRecord(3, 4, new DateTime(2000, 02, 01, 09, 10, 11), SlideType.Theory)
            }));
        }
コード例 #2
0
        public void ParseVisits_Fails_OnIncorrectDate()
        {
            var lines     = new[] { visitsHeaderLine, "1;2;2000-13-30;12:00:00" };
            var exception = Assert.Throws <FormatException>(() =>
                                                            ParsingTask.ParseVisitRecords(lines, new Dictionary <int, SlideRecord>()).ToList()
                                                            );

            Assert.That(exception.Message, Is.EqualTo("Wrong line [1;2;2000-13-30;12:00:00]"));
        }
コード例 #3
0
        private static void Main()
        {
            var encoding     = Encoding.GetEncoding(1251);
            var slideRecords = ParsingTask.ParseSlideRecords(File.ReadAllLines("slides.txt", encoding));
            var visitRecords = ParsingTask.ParseVisitRecords(File.ReadAllLines("visits.txt", encoding), slideRecords).ToList();

            foreach (var slideType in new[] { SlideType.Theory, SlideType.Exercise, SlideType.Quiz })
            {
                var time = StatisticsTask.GetMedianTimePerSlide(visitRecords, slideType);
                Console.WriteLine("Median time per slide '{0}': {1} mins", slideType, time);
            }
        }
コード例 #4
0
        public void ParseEmptyVisits()
        {
            var visits = ParsingTask.ParseVisitRecords(new[] { visitsHeaderLine }, new Dictionary <int, SlideRecord>());

            Assert.That(visits, Is.Empty);
        }