public void CalendarViewWithNoDateRange() { var board = new ActivityBoard(); board.InBox.ViewModes.CalendarView.Enable(); Assert.That(() => board.InBox.ViewItems.Any(), Throws.TypeOf <InvalidOperationException>()); }
public void CanCreateContext() { var board = new ActivityBoard(); board.AddNewContext("Context Name"); Assert.That(board.Contexts, Is.Not.Empty); }
public void CalendarViewWithIncludedHistoryItemBeforeStartDate() { var board = new ActivityBoard(); DateTime startDate = new DateTime(2017, 2, 28); DateTime endDate = startDate.AddDays(5); DateTime dueDate = startDate.AddDays(1); DateTime completedDate = startDate.AddDays(-1); Activity activity = Activity.FluentNew("New Activity") .ActiveDueDate(dueDate) .Recurrence(ERecurFromType.FromCompletedDate, x => x.Daily(2)) .AddToBoard(board); activity.SignalCompleted(completedDate); board.InBox.ViewModes.CalendarView .DateRange(startDate, endDate) .IncludeHistory() .Enable(); DateTime expectedActiveDueDate = completedDate.AddDays(2); Assert.That(board.InBox.ViewItems, Is.Not.Empty); Assert.That(board.InBox.ViewItems.Count(), Is.EqualTo(1)); Assert.That(board.InBox.ViewItems.FirstOrDefault(x => x.Date == expectedActiveDueDate), Is.Not.Null); Assert.That(board.InBox.ViewItems.FirstOrDefault(x => x.Date == expectedActiveDueDate), Is.TypeOf <ActivityViewItem>()); }
public void CalendarViewWithIncludedFutureOnEndDate() { var board = new ActivityBoard(); DateTime startDate = new DateTime(2017, 3, 1); DateTime endDate = startDate.AddDays(3); DateTime dueDate = startDate.AddDays(-1); Activity activity = Activity.FluentNew("New Activity") .ActiveDueDate(dueDate) .Recurrence(ERecurFromType.FromCompletedDate, x => x.Daily(2)) .AddToBoard(board); board.InBox.ViewModes.CalendarView .DateRange(startDate, endDate) .IncludeFuture() .Enable(); DateTime recur1DueDate = dueDate.AddDays(2); DateTime recur2DueDate = recur1DueDate.AddDays(2); Assert.That(recur2DueDate, Is.EqualTo(endDate)); Assert.That(board.InBox.ViewItems, Is.Not.Empty); Assert.That(board.InBox.ViewItems.Count(), Is.EqualTo(2)); Assert.That(board.InBox.ViewItems.FirstOrDefault(x => x.Date == recur1DueDate), Is.Not.Null); Assert.That(board.InBox.ViewItems.FirstOrDefault(x => x.Date == recur1DueDate), Is.TypeOf <ProjectionViewItem>()); Assert.That(board.InBox.ViewItems.FirstOrDefault(x => x.Date == recur2DueDate), Is.Not.Null); Assert.That(board.InBox.ViewItems.FirstOrDefault(x => x.Date == recur2DueDate), Is.TypeOf <ProjectionViewItem>()); }
public void ContainsReturnsTrueWhenActivityGuidMatches() { var activityBoard = new ActivityBoard(); Activity activity = Activity.FluentNew("First New Activity").AddToBoard(activityBoard); Activity.FluentNew("Second New Activity").AddToBoard(activityBoard); Assert.That(activityBoard.ContainsActivity(activity), Is.True); }
public void CanAddActivity() { var activityBoard = new ActivityBoard(); Activity.FluentNew("New Activity").AddToBoard(activityBoard); Assert.That(activityBoard.UnfilteredActivities.Any(), Is.True); Assert.That(activityBoard.UnfilteredActivities.Count(), Is.EqualTo(1)); }
public void CanRemoveContext() { var board = new ActivityBoard(); ActivityContext context = board.AddNewContext("Context Name"); board.RemoveContext(context); Assert.That(board.Contexts, Is.Empty); }
public void NamePropertyIsReadWrite() { var activityBoard = new ActivityBoard(); string testName = "Test Name"; activityBoard.Name = testName; Assert.That(activityBoard.Name, Is.EqualTo(testName)); }
public void CanRemoveGoal() { var board = new ActivityBoard(); ActivityGoal goal = board.AddNewGoal("New Goal"); board.RemoveGoal(goal); Assert.That(board.Goals, Is.Empty); }
public void CanRemoveActivityList() { var board = new ActivityBoard(); string activityListName = "Doing"; ActivityList list = board.AddNewList(activityListName); board.RemoveList(list); Assert.That(board.ActivityLists, Is.Empty); }
public void GetGoalFromActivityWhenNoGoalIsAssigned() { var board = new ActivityBoard(); Activity activity = Activity.FluentNew("An Activity") .AddToBoard(board); ActivityGoal foundGoal = board.GetGoalFromActivity(activity); Assert.That(foundGoal, Is.Null); }
public void CannotMoveActivityToGoalNotBelongingToBoard() { var board = new ActivityBoard(); Activity activity = Activity.FluentNew("An Activity") .AddToBoard(board); ActivityGoal goal = new ActivityGoal("Bad Goal"); Assert.That(() => board.MoveActivity(activity).ToGoal(goal), Throws.TypeOf <ArgumentException>()); }
public void CanCreateActivityList() { var board = new ActivityBoard(); string activityListName = "Doing"; ActivityList list = board.AddNewList(activityListName); Assert.That(list.Name, Is.EqualTo(activityListName)); Assert.That(board.ActivityLists, Has.Member(list)); }
public void GetGoalFromActivityWhenGoalGuidIsInvalid() { var board = new ActivityBoard(); Activity activity = Activity.FluentNew("An Activity") .AddToBoard(board); activity.GoalGuid = Guid.NewGuid(); Assert.That(() => board.GetGoalFromActivity(activity), Throws.TypeOf <InvalidOperationException>()); }
public void ViewItemsContainsAddedActivities() { var board = new ActivityBoard(); Activity activity = Activity.FluentNew("New Activity") .AddToBoard(board); Assert.That(board.InBox.ViewItems, Is.Not.Empty); Assert.That(board.InBox.ViewItems.Count(), Is.EqualTo(1)); }
public FluentlyMoveActivity(ActivityBoard board, Activity activityToMove) { if (!board.ContainsActivity(activityToMove)) { throw new ArgumentException($"Cannot move an {nameof(Activity)} that is not owned by the referenced {nameof(ActivityBoard)}."); } this._board = board; this._activityToMove = activityToMove; }
public void RemoveRemovesOneActivityIfGuidMatches() { var activityBoard = new ActivityBoard(); Activity activity = Activity.FluentNew("First New Activity").AddToBoard(activityBoard); Activity.FluentNew("Second New Activity").AddToBoard(activityBoard); activityBoard.RemoveActivity(activity); Assert.That(activityBoard.UnfilteredActivities.Any(), Is.True); Assert.That(activityBoard.UnfilteredActivities.Count(), Is.EqualTo(1)); }
public void CalendarViewWithEndDateBeforeStartDate() { var board = new ActivityBoard(); DateTime now = DateTime.Now; board.InBox.ViewModes.CalendarView .DateRange(now, now.AddDays(-1)) .Enable(); Assert.That(() => board.InBox.ViewItems.Any(), Throws.TypeOf <InvalidOperationException>()); }
public void ClearRemovesAllActivities() { var activityBoard = new ActivityBoard(); Activity.FluentNew("First New Activity").AddToBoard(activityBoard); Activity.FluentNew("Second New Activity").AddToBoard(activityBoard); activityBoard.RemoveAllActivities(); Assert.That(activityBoard.UnfilteredActivities.Any(), Is.False); Assert.That(activityBoard.UnfilteredActivities.Count(), Is.EqualTo(0)); }
public void RemovingActivityListMovesRelatedActivitiesToInBox() { var board = new ActivityBoard(); string activityListName = "Doing"; ActivityList list = board.AddNewList(activityListName); Activity activity = Activity.FluentNew("New Activity").AddToBoard(board); board.MoveActivity(activity).ToList(list); board.RemoveList(list); Assert.That(board.InBox.Activities, Is.Not.Empty); }
public void CanCreateGoal() { var board = new ActivityBoard(); string goalName = "New Goal"; ActivityGoal goal = board.AddNewGoal(goalName); Assert.That(goal, Is.Not.Null); Assert.That(goal.Name, Is.EqualTo(goalName)); Assert.That(board.Goals, Is.Not.Null); Assert.That(board.Goals.Count(), Is.EqualTo(1)); Assert.That(board.Goals, Has.Member(goal)); }
public void GetGoalFromActivity() { var board = new ActivityBoard(); Activity activity = Activity.FluentNew("An Activity") .AddToBoard(board); ActivityGoal newGoal = board.AddNewGoal("New Goal"); board.MoveActivity(activity).ToGoal(newGoal); ActivityGoal foundGoal = board.GetGoalFromActivity(activity); Assert.That(foundGoal, Is.EqualTo(newGoal)); }
public void ActivityAddedToInBoxListByDefault() { var board = new ActivityBoard(); Activity activity = Activity.FluentNew("An Activity") .ActiveDueDate(new DateTime(2017, 2, 28)) .DailyLeadTime(3) .Recurrence(ERecurFromType.FromActiveDueDate, x => x.Daily(14)) .AddToBoard(board) .ToActivity; Assert.That(board.InBox.Activities, Has.Member(activity)); }
public void ContainsReturnsFalseWhenActivityGuidDoesntMatch() { var activityBoard = new ActivityBoard(); var activity = new Activity() { Name = "Activity to not find" }; Activity.FluentNew("First New Activity").AddToBoard(activityBoard); Activity.FluentNew("Second New Activity").AddToBoard(activityBoard); Assert.That(activityBoard.ContainsActivity(activity), Is.False); }
public void CannotMoveActivityNotBelongingToBoard() { var board = new ActivityBoard(); Activity activity = Activity.FluentNew("An Activity") .ActiveDueDate(new DateTime(2017, 2, 28)) .DailyLeadTime(3) .Recurrence(ERecurFromType.FromActiveDueDate, x => x.Daily(14)) .ToActivity; ActivityList list = board.AddNewList("Doing"); Assert.That(() => board.MoveActivity(activity).ToList(list), Throws.TypeOf <ArgumentException>()); }
public void RemovingGoalClearsGoalFromActivities() { var board = new ActivityBoard(); ActivityGoal goal = board.AddNewGoal("New Goal"); Activity activity = Activity.FluentNew("New Activity") .AddToBoard(board); board.MoveActivity(activity) .ToGoal(goal); board.RemoveGoal(goal); Assert.That(activity.GoalGuid, Is.Null); }
public void CanAssignActivityToGoal() { var board = new ActivityBoard(); ActivityGoal goal = board.AddNewGoal("New Goal"); Activity activity = Activity.FluentNew("New Activity") .AddToBoard(board); board.MoveActivity(activity) .ToGoal(goal); Assert.That(activity.GoalGuid, Is.Not.Null); Assert.That(activity.GoalGuid, Is.EqualTo(goal.Guid)); }
public void FocusDateViewWithFocusDateBeforeActiveDueDate() { var board = new ActivityBoard(); DateTime focusDateTime = new DateTime(2017, 2, 28); Activity activity = Activity.FluentNew("New Activity") .ActiveDueDate(focusDateTime.AddDays(1)) .AddToBoard(board); board.InBox.ViewModes.FocusDateView .FocusDateTime(focusDateTime) .Enable(); Assert.That(board.InBox.ViewItems, Is.Empty); }
public void FocusDateViewWithFocusDateSameAsActiveDueDate() { var board = new ActivityBoard(); DateTime focusDateTime = new DateTime(2017, 2, 28); Activity activity = Activity.FluentNew("New Activity") .ActiveDueDate(focusDateTime).AddToBoard(board); board.InBox.ViewModes.FocusDateView .FocusDateTime(focusDateTime) .Enable(); Assert.That(board.InBox.ViewItems, Is.Not.Empty); Assert.That(board.InBox.ViewItems.Count(), Is.EqualTo(1)); }
public void FocusDateViewWithInactiveActivitiesWithViewDelayNotExpired() { var board = new ActivityBoard(); Activity activity1 = Activity.FluentNew("New Activity 1").AddToBoard(board); Activity activity2 = Activity.FluentNew("New Activity 2").AddToBoard(board); activity1.SignalCompleted(new DateTime(2017, 2, 28)); board.InBox.ViewModes.FocusDateView .CompletedFilterDelay(TimeSpan.FromHours(4)) .Enable(); Assert.That(board.InBox.ViewItems, Is.Not.Empty); Assert.That(board.InBox.ViewItems.Count(), Is.EqualTo(2)); }