public void RunSaveYearlyOrRunOnceSettingsTest(bool isRunOnce)
        {
            SchedulerSettings settings = new SchedulerSettings();
            mock.Setup(mgr => mgr.Save(It.IsAny<SchedulerSettings>())).Callback<SchedulerSettings>(s =>
            {
                if (isRunOnce)
                {
                    Assert.AreEqual(ScheduleType.Once, s.Type);
                }
                else
                {
                    Assert.AreEqual(ScheduleType.Yearly, s.Type);
                }

                Assert.AreEqual(ScheduledAction.Shutdown, s.Action);
                Assert.AreEqual(new DateTime(2013, 1, 29), s.Time.Value.Date);
                Assert.AreEqual(new TimeSpan(20, 30, 00), s.Time.Value.TimeOfDay);
            });

            SchedulerViewModel viewModel = new SchedulerViewModel(mock.Object);
            viewModel.EnableScheduler = true;
            viewModel.Action = SchedulerViewModel.SHUTDOWN;
            viewModel.Type = isRunOnce ? SchedulerViewModel.ONCE : SchedulerViewModel.YEARLY;
            viewModel.SelectedTime = new DateTime(1, 1, 1, 20, 30, 40);
            viewModel.SelectedDate = new DateTime(2013, 1, 29, 20, 30, 40);
            viewModel.SaveSettings();
        }
Exemplo n.º 2
0
 public void Setup()
 {
     Mock<ISchedulerSettingsManager> mock = new Mock<ISchedulerSettingsManager>();
     viewModel = new SchedulerViewModel(mock.Object)
     {
         Action = SchedulerViewModel.LOGOUT,
         Type = SchedulerViewModel.ONCE,
         SelectedTime = DateTime.Now,
         SelectedDate = DateTime.Now
     };
 }
        public void TestIfCanRunEveryDay()
        {
            SchedulerViewModel viewModel = new SchedulerViewModel(mock.Object) { EnableScheduler = true };
            bool canSave = viewModel.SaveCommand.CanExecute();
            Assert.IsFalse(canSave);

            viewModel.Action = SchedulerViewModel.LOGOUT;
            viewModel.Type = SchedulerViewModel.DAILY;
            canSave = viewModel.SaveCommand.CanExecute();
            Assert.IsFalse(canSave);

            viewModel.SelectedTime = DateTime.Now;
            canSave = viewModel.SaveCommand.CanExecute();
            Assert.IsTrue(canSave);
        }
Exemplo n.º 4
0
 private void OpenScheduler()
 {
     SchedulerDialog view = new SchedulerDialog();
     SchedulerViewModel viewModel = new SchedulerViewModel(view, new SchedulerSettingsManager());
     view.DataContext = viewModel;
     view.ShowDialog();
 }
        public void TestIfCanRunEveryMonth()
        {
            Mock<ISchedulerSettingsManager> mock = new Mock<ISchedulerSettingsManager>();
            SchedulerViewModel viewModel = new SchedulerViewModel(mock.Object)
            {
                EnableScheduler = true ,
                Action = SchedulerViewModel.RESTART,
                Type = SchedulerViewModel.MONTHLY
            };

            bool canSave = viewModel.SaveCommand.CanExecute();
            Assert.IsFalse(canSave);

            viewModel.SelectedDayOfMonth = 150;
            viewModel.SelectedTime = DateTime.Now;
            canSave = viewModel.SaveCommand.CanExecute();
            Assert.IsFalse(canSave);

            viewModel.SelectedDayOfMonth = 0;
            Assert.IsFalse(canSave);

            viewModel.SelectedDayOfMonth = 31;
            canSave = viewModel.SaveCommand.CanExecute();
            Assert.IsTrue(canSave);

            viewModel.SelectedDayOfMonth = 1;
            canSave = viewModel.SaveCommand.CanExecute();
            Assert.IsTrue(canSave);
        }
        public void TestSaveRestartDailySettings()
        {
            SchedulerSettings settings = new SchedulerSettings();
            mock.Setup(mgr => mgr.Save(It.IsAny<SchedulerSettings>())).Callback<SchedulerSettings>(s =>
                {
                    Assert.AreEqual(ScheduleType.Daily, s.Type);
                    Assert.AreEqual(ScheduledAction.Restart, s.Action);
                    Assert.AreEqual(new TimeSpan(20, 30, 00), s.Time.Value.TimeOfDay);
                });

            SchedulerViewModel viewModel = new SchedulerViewModel(mock.Object);
            viewModel.EnableScheduler = true;
            viewModel.Action = SchedulerViewModel.RESTART;
            viewModel.Type = SchedulerViewModel.DAILY;
            viewModel.SelectedTime = new DateTime(1, 1, 1, 20, 30, 40);
            viewModel.SaveSettings();
        }
        private void RunYearlyOrRunOnceTest(bool isRunOnce)
        {
            mock.Setup(mgr => mgr.Load()).Returns(
               new SchedulerSettings
               {
                   Type = isRunOnce ? ScheduleType.Once : ScheduleType.Yearly,
                   Action = ScheduledAction.Shutdown,
                   Time = new DateTime(2013, 1, 29, 20, 30, 00),
                   DayOfMonth = 20
               });
            SchedulerViewModel viewModel = new SchedulerViewModel(mock.Object);
            Assert.IsTrue(viewModel.EnableScheduler);
            Assert.AreEqual(SchedulerViewModel.SHUTDOWN, viewModel.Action);
            if (isRunOnce)
            {
                Assert.AreEqual(SchedulerViewModel.ONCE, viewModel.Type);
            }
            else
            {
                Assert.AreEqual(SchedulerViewModel.YEARLY, viewModel.Type);
            }

            Assert.AreEqual(new DateTime(2013, 1, 29), viewModel.SelectedDate.Value.Date);
            Assert.AreEqual(new TimeSpan(20, 30, 00), viewModel.SelectedTime.Value.TimeOfDay);
            Assert.IsFalse(viewModel.AskToRunAction);
        }
        public void TestSaveLogOutMonthlySettings()
        {
            SchedulerSettings settings = new SchedulerSettings();
            mock.Setup(mgr => mgr.Save(It.IsAny<SchedulerSettings>())).Callback<SchedulerSettings>(s =>
            {
                Assert.AreEqual(ScheduleType.Monthly, s.Type);
                Assert.AreEqual(ScheduledAction.LogOut, s.Action);
                Assert.AreEqual(new TimeSpan(20, 30, 00), s.Time.Value.TimeOfDay);
                Assert.AreEqual(20, s.DayOfMonth);
            });

            SchedulerViewModel viewModel = new SchedulerViewModel(mock.Object);
            viewModel.EnableScheduler = true;
            viewModel.Action = SchedulerViewModel.LOGOUT;
            viewModel.Type = SchedulerViewModel.MONTHLY;
            viewModel.SelectedTime = new DateTime(1, 1, 1, 20, 30, 40);
            viewModel.SelectedDayOfMonth = 20;
            viewModel.SaveSettings();
        }
        public void TestSaveNoActionSettings()
        {
            SchedulerSettings settings = new SchedulerSettings();
            mock.Setup(mgr => mgr.Save(It.IsAny<SchedulerSettings>())).Callback<SchedulerSettings>(s =>
                {
                    Assert.AreEqual(ScheduleType.None, s.Type);
                });

            SchedulerViewModel viewModel = new SchedulerViewModel(mock.Object);
            viewModel.EnableScheduler = false;
            viewModel.SaveSettings();
        }
        public void TestRestartDailySettings()
        {
            mock.Setup(mgr => mgr.Load()).Returns(
                new SchedulerSettings
                {
                    Type = ScheduleType.Daily,
                    Action = ScheduledAction.Restart,
                    Time = new DateTime(1900, 1, 1, 20, 30, 00),
                    AskToRunAction = true
                });

            SchedulerViewModel viewModel = new SchedulerViewModel(mock.Object);
            Assert.IsTrue(viewModel.EnableScheduler);
            Assert.AreEqual(SchedulerViewModel.RESTART, viewModel.Action);
            Assert.AreEqual(SchedulerViewModel.DAILY, viewModel.Type);
            Assert.AreEqual(new TimeSpan(20, 30, 00), viewModel.SelectedTime.Value.TimeOfDay);
            Assert.IsTrue(viewModel.AskToRunAction);
        }
        public void TestNoActionSettings()
        {
            mock.Setup(mgr => mgr.Load()).Returns(
                new SchedulerSettings
                {
                    Type = ScheduleType.None
                });

            SchedulerViewModel viewModel = new SchedulerViewModel(mock.Object);
            Assert.IsFalse(viewModel.EnableScheduler);
        }
        public void TestLogOutMonthlySettings()
        {
            mock.Setup(mgr => mgr.Load()).Returns(
                new SchedulerSettings
                {
                    Type = ScheduleType.Monthly,
                    Action = ScheduledAction.LogOut,
                    Time = new DateTime(1900, 1, 1, 20, 30, 00),
                    DayOfMonth = 20
                });

            SchedulerViewModel viewModel = new SchedulerViewModel(mock.Object);
            Assert.IsTrue(viewModel.EnableScheduler);
            Assert.AreEqual(SchedulerViewModel.LOGOUT, viewModel.Action);
            Assert.AreEqual(SchedulerViewModel.MONTHLY, viewModel.Type);
            Assert.AreEqual(new TimeSpan(20, 30, 00), viewModel.SelectedTime.Value.TimeOfDay);
            Assert.AreEqual(20, viewModel.SelectedDayOfMonth);
            Assert.IsFalse(viewModel.AskToRunAction);
        }
 public void TestIfCanSaveNoSchedule()
 {
     SchedulerViewModel viewModel = new SchedulerViewModel(mock.Object) { EnableScheduler = false };
     bool canSave = viewModel.SaveCommand.CanExecute();
     Assert.IsTrue(canSave);
 }
        public void TestIfCanRunEveryYearOrOnce()
        {
            SchedulerViewModel viewModel = new SchedulerViewModel(mock.Object)
            {
                EnableScheduler = true,
                Action = SchedulerViewModel.RESTART,
                Type = SchedulerViewModel.YEARLY
            };

            bool canSave = viewModel.SaveCommand.CanExecute();
            Assert.IsFalse(canSave);

            viewModel.SelectedDate = DateTime.Now;
            viewModel.SelectedTime = DateTime.Now;
            canSave = viewModel.SaveCommand.CanExecute();
            Assert.IsTrue(canSave);

            viewModel.Type = SchedulerViewModel.ONCE;
            canSave = viewModel.SaveCommand.CanExecute();
            Assert.IsTrue(canSave);
        }