Пример #1
0
        public void Test_SilentFlag_MakesTaskAddingSilent()
        {
            TaskManTester tester = new TaskManTester();

            tester.RunWithCommand("add --silent Remember the milk");

            Assert.That(string.IsNullOrWhiteSpace(tester.Output));
        }
Пример #2
0
        public void Test_TaskMan_SplitsOutputMessagesIntoLines()
        {
            TaskManTester tester = new TaskManTester();

            tester.RunWithCommand("add " + "ABCDE ".Replicate(10000));

            Assert.That(tester.Output.Split('\n').HasAtLeastTwoElements());
        }
Пример #3
0
        public void Test_Delete_DeletesTasks()
        {
            TaskManTester tester = new TaskManTester();

            tester.AddThreeTasks();
            tester.RunWithCommand("delete --all");

            Assert.IsEmpty(tester.SavedTasks);
        }
Пример #4
0
        public void Test_TaskMan_DoesNotPrintStackTrace_When_NoVerboseFlag()
        {
            TaskManTester tester = new TaskManTester();

            tester.RunWithCommand("self-destruct");

            Assert.That(
                !tester.Errors.ContainsFormat(Messages.ExceptionStackTrace));
        }
Пример #5
0
        public void Test_VerboseFlag_IncreasesErrorVerbosity()
        {
            TaskManTester tester = new TaskManTester();

            tester.RunWithCommand("self-destruct --verbose");

            Assert.That(
                tester.Errors.ContainsFormat(Messages.ExceptionStackTrace));
        }
Пример #6
0
        public void Test_TaskMan_OutputsSimilarCommandOnTypo()
        {
            TaskManTester tester = new TaskManTester();

            tester.RunWithCommand("shom");

            Assert.That(tester.Errors.ContainsFormat(Messages.DidYouMean));
            Assert.That(tester.Errors, Does.Contain("show").IgnoreCase);
        }
Пример #7
0
        public void Test_TaskMan_OutputsPossibleCommandsOnAmbiguity()
        {
            TaskManTester tester = new TaskManTester();

            tester.RunWithCommand("s");

            Assert.That(
                tester.Errors.ContainsFormat(Messages.MoreThanOneCommandMatchesInput));
        }
Пример #8
0
        public void Test_FormatFlag_WorksWithXMLFormat()
        {
            TaskManTester tester = new TaskManTester();

            tester.AddThreeTasks();
            tester.RunWithCommand("show --format xml");

            Assert.That(true);
        }
Пример #9
0
        public void Test_PriorityFlag_SetsPriority_When_AddingNewTask()
        {
            TaskManTester tester = new TaskManTester();

            tester.RunWithCommand("add -p Critical first");

            Assert.That(
                tester.SavedTasks.Single().Priority,
                Is.EqualTo(Priority.Critical));
        }
Пример #10
0
        public void Test_Update_UpdatesDescription()
        {
            TaskManTester tester = new TaskManTester();

            tester.AddThreeTasks();
            tester.RunWithCommand("update --all description NEW");

            Assert.That(
                tester.SavedTasks,
                Is.All.Matches <Task>(task => task.Description == "NEW"));
        }
Пример #11
0
        public void Test_Add_AddsTask()
        {
            TaskManTester tester = new TaskManTester();

            tester.RunWithCommand("add Remember the milk");

            Assert.IsNotEmpty(tester.SavedTasks);
            Assert.That(
                tester.SavedTasks.First().Description,
                Is.EqualTo("Remember the milk"));
        }
Пример #12
0
        public void Test_Complete_CompletesTasks()
        {
            TaskManTester tester = new TaskManTester();

            tester.AddThreeTasks();
            tester.RunWithCommand("complete --all");

            Assert.That(
                tester.SavedTasks,
                Is.All.Matches <Task>(task => task.IsFinished));
        }
Пример #13
0
        public void Test_InteractiveFlag_AllowsTheUserToConfirmOperation()
        {
            TaskManTester tester = new TaskManTester();

            tester.AddThreeTasks();
            tester.Input = "yes";

            tester.RunWithCommand("delete --all --interactive");

            Assert.That(tester.SavedTasks, Is.Empty);
        }
Пример #14
0
        public void Test_TaskMan_RequiresExplicitFilteringOnDelete()
        {
            TaskManTester tester = new TaskManTester();

            tester.AddThreeTasks();

            tester.RunWithCommand("delete");

            Assert.That(tester.SavedTasks.Any());
            Assert.That(
                tester.Errors.ContainsFormat(Messages.NoFilterConditionsUseAllIfIntended));
        }
Пример #15
0
        public void Test_LicenseFlag_OutputsLicense()
        {
            TaskManTester tester = new TaskManTester();

            const string expectedSubstring = "GNU GENERAL PUBLIC LICENSE";

            tester.RunWithCommand("--license");

            Assert.That(
                tester.Output,
                Contains.Substring(expectedSubstring));
        }
Пример #16
0
        public void Test_VersionFlag_OutputsVersion()
        {
            TaskManTester tester = new TaskManTester();

            const string expectedSubstring = "version";

            tester.RunWithCommand("--version");

            Assert.That(
                tester.Output,
                Contains.Substring(expectedSubstring));
        }
Пример #17
0
        public void Test_InteractiveFlag_AllowsTheUserToAbortOperation()
        {
            TaskManTester tester = new TaskManTester();

            tester.AddThreeTasks();
            tester.Input = "no";

            tester.RunWithCommand("delete --all --interactive");

            Assert.That(() => tester.Output.ContainsFormat(Messages.Cancelled));
            Assert.That(tester.SavedTasks.Count, Is.EqualTo(3));
        }
Пример #18
0
        public void Test_LimitFlag_HasLowerPriorityThanSkipFlag()
        {
            TaskManTester tester = new TaskManTester();

            tester.AddThreeTasks();
            tester.RunWithCommand("show --limit 1 --skip 2");

            Assert.That(
                tester.Output,
                Does.Not.Contain("first")
                .And.Not.Contain("second")
                .And.Contains("third"));
        }
Пример #19
0
        public void Test_Renumber_RenumbersTasksInGivenOrder()
        {
            TaskManTester tester = new TaskManTester();

            tester.RunWithCommands(
                "add 1",
                "add 2",
                "add 3");

            Assert.That(
                tester.SavedTasks.Select(t => t.Description),
                Is.EquivalentTo(new[] { "1", "2", "3" }));

            tester.RunWithCommand("renumber --orderby id-");

            Assert.That(
                tester.SavedTasks.Select(t => t.Description),
                Is.EquivalentTo(new[] { "3", "2", "1" }));
        }