예제 #1
0
        public void ParseTask_ExclamationMark11IsNotWeekShiftPattern()
        {
            var service = new TaskParserService(dateServiceMock());

            var result = service.ParseTask("!11 Test");

            Assert.Equal("!11 Test", result.Title);
        }
예제 #2
0
        public void ParseTask_ReturnTaskWithDateAndNoTimeWithYear()
        {
            var service = new TaskParserService(dateServiceMock());

            var result = service.ParseTask("20170101 Test");

            Assert.Equal("Test", result.Title);
            Assert.Equal(TaskTypeEnum.Simple, result.Type);
            Assert.Equal(new DateTime(2017, 1, 1, 0, 0, 0), result.Date);
            Assert.Null(result.Time);
        }
예제 #3
0
        public void ParseTask_ReturnTaskWithDateAndTime_NotWorkingWithoutSpace()
        {
            var service = new TaskParserService(dateServiceMock());

            var result = service.ParseTask("0101 0101Test!!!");

            Assert.Equal("0101Test!!!", result.Title);
            Assert.Equal(TaskTypeEnum.Simple, result.Type);
            Assert.Equal(new DateTime(2019, 1, 1, 0, 0, 0), result.Date);
            Assert.Null(result.Time);
        }
예제 #4
0
        public void ParseTask_ReturnTaskWithDateAndTime()
        {
            var service = new TaskParserService(dateServiceMock());

            var result = service.ParseTask("1231 2359 Test!");

            Assert.Equal("Test!", result.Title);
            Assert.Equal(TaskTypeEnum.Simple, result.Type);
            Assert.Equal(new DateTime(2019, 12, 31, 0, 0, 0), result.Date);
            Assert.Equal(1439, result.Time);
        }
예제 #5
0
        public void PrintTasks_ReturnTitle()
        {
            var service = new TaskParserService(dateServiceMock());

            var result = service.PrintTasks(new[] { new TaskDto
                                                    {
                                                        Title = "Task text"
                                                    } });

            Assert.Equal("Task text", result.Single());
        }
예제 #6
0
        public void ParseTask_IgnoreDateTaskWithTime()
        {
            var service = new TaskParserService(dateServiceMock());

            var result = service.ParseTask("1010 Test!", ignoreDate: true);

            Assert.Equal("Test!", result.Title);
            Assert.Equal(TaskTypeEnum.Simple, result.Type);
            Assert.Null(result.Date);
            Assert.Equal(610, result.Time);
        }
예제 #7
0
        public void ParseTask_DateWithExclamation()
        {
            var service = new TaskParserService(dateServiceMock());

            var result = service.ParseTask("1231! Test");

            Assert.Equal("1231! Test", result.Title);
            Assert.Equal(TaskTypeEnum.Simple, result.Type);
            Assert.Null(result.Date);
            Assert.Null(result.Time);
        }
예제 #8
0
        public void ParseTask_ReturnNextFridayTaskThroughExclamationMark()
        {
            var service = new TaskParserService(dateServiceMock(2019, 7, 28));

            var result = service.ParseTask("!5 Test");

            Assert.Equal("Test", result.Title);
            Assert.Equal(TaskTypeEnum.Simple, result.Type);
            Assert.Equal(new DateTime(2019, 8, 2, 0, 0, 0), result.Date);
            Assert.Null(result.Time);
        }
예제 #9
0
        public void ParseTask_ReturnDayAfterTomorrowNextMonthTaskThroughExclamationMark()
        {
            var service = new TaskParserService(dateServiceMock(2019, 1, 31));

            var result = service.ParseTask("!!! Test");

            Assert.Equal("Test", result.Title);
            Assert.Equal(TaskTypeEnum.Simple, result.Type);
            Assert.Equal(new DateTime(2019, 2, 2, 0, 0, 0), result.Date);
            Assert.Null(result.Time);
        }
예제 #10
0
        public void ParseTask_ReturnTaskWithNoDateAndNoTime()
        {
            var service = new TaskParserService(dateServiceMock());

            var result = service.ParseTask("Test!");

            Assert.Equal("Test!", result.Title);
            Assert.Equal(TaskTypeEnum.Simple, result.Type);
            Assert.Null(result.Date);
            Assert.Null(result.Time);
        }
예제 #11
0
        public void ParseTask_ReturnAdditionalTaskWithDateAndTime()
        {
            var service = new TaskParserService(dateServiceMock());

            var result = service.ParseTask("20150220 2359 Test !");

            Assert.Equal("Test", result.Title);
            Assert.Equal(TaskTypeEnum.Additional, result.Type);
            Assert.Equal(new DateTime(2015, 2, 20, 0, 0, 0), result.Date);
            Assert.Equal(1439, result.Time);
        }
예제 #12
0
        public void ParseTask_ReturnProbableTask()
        {
            var service = new TaskParserService(dateServiceMock());

            var result = service.ParseTask("Test! ?");

            Assert.Equal("Test!", result.Title);
            Assert.True(result.IsProbable);
            Assert.Null(result.Date);
            Assert.Null(result.Time);
        }
예제 #13
0
        public void ParseTask_ProbableAndAdditional()
        {
            var service = new TaskParserService(dateServiceMock());

            var result = service.ParseTask("Test ?!");

            Assert.Equal("Test", result.Title);
            Assert.Equal(TaskTypeEnum.Additional, result.Type);
            Assert.True(result.IsProbable);
            Assert.Null(result.Date);
            Assert.Null(result.Time);
        }
예제 #14
0
        public void PrintTasks_ReturnTime()
        {
            var service = new TaskParserService(dateServiceMock());

            var result = service.PrintTasks(new[] { new TaskDto
                                                    {
                                                        Title = "Task",
                                                        Date  = new DateTime(2000, 10, 10, 0, 0, 0),
                                                        Time  = 1060
                                                    } });

            Assert.Equal("17:40 Task", result.Single());
        }