public void Test_SilentFlag_MakesTaskAddingSilent() { TaskManTester tester = new TaskManTester(); tester.RunWithCommand("add --silent Remember the milk"); Assert.That(string.IsNullOrWhiteSpace(tester.Output)); }
public void Test_TaskMan_SplitsOutputMessagesIntoLines() { TaskManTester tester = new TaskManTester(); tester.RunWithCommand("add " + "ABCDE ".Replicate(10000)); Assert.That(tester.Output.Split('\n').HasAtLeastTwoElements()); }
public void Test_Delete_DeletesTasks() { TaskManTester tester = new TaskManTester(); tester.AddThreeTasks(); tester.RunWithCommand("delete --all"); Assert.IsEmpty(tester.SavedTasks); }
public void Test_TaskMan_DoesNotPrintStackTrace_When_NoVerboseFlag() { TaskManTester tester = new TaskManTester(); tester.RunWithCommand("self-destruct"); Assert.That( !tester.Errors.ContainsFormat(Messages.ExceptionStackTrace)); }
public void Test_VerboseFlag_IncreasesErrorVerbosity() { TaskManTester tester = new TaskManTester(); tester.RunWithCommand("self-destruct --verbose"); Assert.That( tester.Errors.ContainsFormat(Messages.ExceptionStackTrace)); }
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); }
public void Test_TaskMan_OutputsPossibleCommandsOnAmbiguity() { TaskManTester tester = new TaskManTester(); tester.RunWithCommand("s"); Assert.That( tester.Errors.ContainsFormat(Messages.MoreThanOneCommandMatchesInput)); }
public void Test_FormatFlag_WorksWithXMLFormat() { TaskManTester tester = new TaskManTester(); tester.AddThreeTasks(); tester.RunWithCommand("show --format xml"); Assert.That(true); }
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)); }
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")); }
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")); }
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)); }
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); }
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)); }
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)); }
public void Test_VersionFlag_OutputsVersion() { TaskManTester tester = new TaskManTester(); const string expectedSubstring = "version"; tester.RunWithCommand("--version"); Assert.That( tester.Output, Contains.Substring(expectedSubstring)); }
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)); }
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")); }
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" })); }