private void RemoveTaskConfirm(ITask removeTask) { // Configure // Setup var controller = new TaskAide(db, this.systemTime, this.timer); // Confirm (previous test persistence) var task = controller.GetTask(removeTask.TID); Assert.Null(task); }
private void AddTaskConfirm(ITask addedTask, string name) { // Configure // Setup var controller = new TaskAide(db, this.systemTime, this.timer); // Confirm (previous test persistence) var task = controller.GetTask(addedTask.TID); Assert.NotNull(task); Assert.Equal(name, task.Name); }
// Event Handlers - Activations protected override void OnLaunched(LaunchActivatedEventArgs e) // Occurrence // - when user launches app (ie. tile selection) // - during prelaunch, when system launches app // Assumptions // - prelaunch is disabled by default (post v1607) // - when enabled, may be prelaunch or may have already prelaunched // - app may not immediately be visible (eg. prelaunch) // - previous state unknown (eg. user terminated, system terminated, crashed/hasn't-run, suspended, running) // - app will feel unresponsive if execution exceeds a few seconds // Actions // - initial app resources and state // - register event handlers // - configure and set initial page (on user launch) // - display splash screen (on user launch) // - (utilize custom SplashScreen if initialization requires more time) { if (App.State == null) { var systemTime = new SystemTimeDev(DateTimeOffset.UtcNow, TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time")); var taskAide = new TaskAide(new Database("Filename=TaskAide.db"), systemTime, new TimerDev(systemTime)); systemTime.Rewound += taskAide.OnSystemRewound; var appEvents = new AppEvents(); appEvents.TaskAdded += (s, args) => taskAide.AddTask(args.Name); appEvents.TaskNameChanged += (s, args) => taskAide.RenameTask(args.Task, args.NewName); appEvents.TaskRemoved += (s, args) => taskAide.RemoveTask(args.Task); appEvents.UserChangedInterval += (s, args) => taskAide.UserChangedInterval(args.Interval, args.StartDelta, args.SpanDelta); appEvents.UserSwitchedTasks += (s, args) => taskAide.SwitchTasks(args.Task); if ((e.PreviousExecutionState == ApplicationExecutionState.ClosedByUser) || (e.PreviousExecutionState == ApplicationExecutionState.Terminated)) { // restore previous user session state } App.Events = appEvents; App.Settings = new AppSettings(); App.State = taskAide; } if (!e.PrelaunchActivated) { if (Window.Current.Content == null) { Window.Current.Content = new AppNavigation(); } Window.Current.Activate(); } }
public void GetTaskList_Empty() { // Configure var db = new Database("Filename=GetTaskList_Empty_Test.db"); // Setup var controller = new TaskAide(db, this.systemTime, this.timer); // Test var model = controller.TaskList; Assert.NotNull(model); Assert.Empty(model.Tasks); }
private void RemoveTask(ITask removeTask) { // Configure // Setup var controller = new TaskAide(db, this.systemTime, this.timer); // Test controller.RemoveTask(removeTask); // Confirm var task = controller.GetTask(removeTask.TID); Assert.Null(task); }
private void RenameTask(ITask renameTask, string name) { // Configure // Setup var controller = new TaskAide(db, this.systemTime, this.timer); // Test controller.RenameTask(renameTask, name); // Confirm var task = controller.GetTask(renameTask.TID); Assert.NotNull(task); Assert.Equal(name, task.Name); }
// Helpers private void AddTask(string name, out ITask addedTask) { // Configure // Setup var controller = new TaskAide(db, this.systemTime, this.timer); // Test addedTask = controller.AddTask(name); Assert.Equal(name, addedTask.Name); // Confirm var task = controller.GetTask(addedTask.TID); Assert.NotNull(task); Assert.Equal(name, task.Name); }
public void GetTaskList() { // Configure // Setup var controller = new TaskAide(this.db, this.systemTime, this.timer); // Test var model = controller.TaskList; Assert.NotNull(model); Assert.Equal(this.tasks.Count, model.Tasks.Count); // Confirm foreach (Task task in model.Tasks) { var foundTask = this.tasks.Find((t) => t.TID == task.TID); Assert.NotNull(foundTask); Assert.Equal(task.Name, foundTask.Name); } }
public void StartWorking() { // Configure var refTask = this.tasks[1]; int timeProgression_mins = 20; // Setup var controller = new TaskAide(db, this.systemTime, this.timer); var session = controller.ActiveSession; Assert.Equal(this.systemTime.UtcNow.UtcTicks, session.DateTimeStart.UtcTicks); // Test controller.SwitchTasks(refTask); Assert.NotNull(session.ActiveInterval); Assert.Equal(refTask, controller.ActiveTask); // Test: time passage this.systemTime.FastForward(TimeSpan.FromMinutes(timeProgression_mins)); Assert.Equal(timeProgression_mins, Math.Ceiling(session.ActiveInterval.Span.TotalMinutes)); }
public void AddGetRemoveTasks() { // Configure var newTaskName = "Omega"; // Setup var controller = new TaskAide(db, this.systemTime, this.timer); // Test: Add var taskAdded = controller.AddTask(newTaskName); Assert.Equal(newTaskName, taskAdded.Name); // Test: Get var taskFound = controller.GetTask(taskAdded.TID); Assert.Equal(taskAdded.Name, taskFound.Name); // Test: Remove controller.RemoveTask(taskAdded); taskFound = controller.GetTask(taskAdded.TID); Assert.Null(taskFound); }
public void Rename() { // Configure var refTask = this.tasks[1]; var newName = "newName"; // Setup var controller = new TaskAide(db, this.systemTime, this.timer); var model = controller.TaskList; var task = model.Tasks[model.Tasks.IndexOf(refTask)]; Assert.Equal(refTask.Name, task.Name); // Test controller.RenameTask(task, newName); // Confirm task = model.Tasks[model.Tasks.IndexOf(refTask)]; Assert.Equal(newName, task.Name); // Restore controller.RenameTask(task, refTask.Name); }