Exemple #1
0
        public async Task CheckDateTime(int hour, int minute, string file)
        {
            string text = await System.IO.File.ReadAllTextAsync(file);

            var parser = DIContainerHolder.Resolve <IPlaybillParser>();

            var performances = await parser.Parse(text, CancellationToken.None);

            var timeZone = TimeZoneInfo.CreateCustomTimeZone("Moscow Time", new TimeSpan(03, 00, 00),
                                                             "(GMT+03:00) Moscow Time", "Moscow Time");

            DateTime dt = TimeZoneInfo.ConvertTimeFromUtc(performances.First().DateTime, timeZone);

            Assert.Equal(hour, dt.Hour);
            Assert.Equal(minute, dt.Minute);

            var exceptions = Record.Exception(() =>
            {
                foreach (var p in performances)
                {
                    TimeZoneInfo.ConvertTimeFromUtc(p.DateTime, timeZone);
                }
            });

            Assert.Null(exceptions);
        }
        public async Task CheckCancellation(string file)
        {
            string text = await System.IO.File.ReadAllTextAsync(file);

            var parser = DIContainerHolder.Resolve <ITicketsParser>();

            await Assert.ThrowsAsync <TaskCanceledException>(async() => await parser.Parse(text, new CancellationTokenSource(10).Token));
        }
        public async Task CheckMinPrice(string file, int expected)
        {
            string text = await System.IO.File.ReadAllTextAsync(file);

            var parser = DIContainerHolder.Resolve <ITicketsParser>();

            var tickets = await parser.Parse(text, CancellationToken.None);

            Assert.Equal(expected, tickets.GetMinPrice());
        }
Exemple #4
0
        public async Task CheckPerformanceTypes(string file, string name, string expected)
        {
            string text = await System.IO.File.ReadAllTextAsync(file);

            var parser = DIContainerHolder.Resolve <IPlaybillParser>();

            IPerformanceData[] performances = await parser.Parse(text, CancellationToken.None);

            foreach (var performance in performances.Where(p => p.Name == name))
            {
                Assert.Equal(expected, performance.Type);
            }
        }
Exemple #5
0
        public void Test(bool expected, int[] performanceDate, string performanceType, DayOfWeek[] filterDays, string[] filterTypes)
        {
            var filterChecker = DIContainerHolder.Resolve <IFilterChecker>();

            var filter = new Mock <IPerformanceFilter>();

            filter.SetupGet(x => x.DaysOfWeek).Returns(filterDays);
            filter.SetupGet(x => x.PerformanceTypes).Returns(filterTypes);

            var performance = new Mock <IPerformanceData>();

            performance.SetupGet(x => x.DateTime)
            .Returns(new DateTime(performanceDate[0], performanceDate[1], performanceDate[2]));
            performance.SetupGet(x => x.Type).Returns(performanceType);

            bool result = filterChecker.IsDataSuitable(performance.Object, filter.Object);

            Assert.Equal(expected, result);
        }