Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        // 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();
            }
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 7
0
        // 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);
        }
Ejemplo n.º 8
0
        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);
            }
        }
Ejemplo n.º 9
0
        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));
        }
Ejemplo n.º 10
0
        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);
        }
Ejemplo n.º 11
0
        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);
        }