示例#1
0
        public void TestMethod0050()
        {
            #region テストデータ準備

            var testEntity = TestUtilLib.GenarateRandomTodoTask();

            using (var context = new EfDbContext())
            {
                context.Add(testEntity);
                context.SaveChanges();
            }
            using (var context = new EfDbContext()) Assert.AreEqual(1, context.TodoTasks.Count());

            #endregion

            var dialogParameters = new DialogParameters {
                { nameof(DialogWindowEditViewModel.Parameter), new DialogWindowEditViewModel.Parameter
                  {
                      TodoTask = testEntity,
                  } }
            };

            var vm = new DialogWindowEditViewModel();
            vm.OnDialogOpened(dialogParameters);

            vm.DeleteClick.Execute();

            // この画面でレコードが削除される
            using (var context = new EfDbContext()) Assert.AreEqual(0, context.TodoTasks.Count());

            // カバレッジ 100% にするためのコード
            vm.RequestClose += new Action <IDialogResult>(delegate { });
            vm.DeleteClick.Execute();
        }
示例#2
0
        public void TestMethod0030()
        {
            var testEntity = TestUtilLib.GenarateRandomTodoTask();

            var dialogParameters = new DialogParameters {
                { nameof(DialogWindowEditViewModel.Parameter), new DialogWindowEditViewModel.Parameter
                  {
                      TodoTask = testEntity,
                  } }
            };

            var vm = new DialogWindowEditViewModel();

            vm.OnDialogOpened(dialogParameters);

            vm.UpdateClick.Execute();

            // この画面でレコードが更新・登録・削除される訳ではない
            using (var context = new EfDbContext()) Assert.AreEqual(0, context.TodoTasks.Count());

            // カバレッジ 100% にするためのコード
            vm.Status.Value  = true;
            vm.RequestClose += new Action <IDialogResult>(delegate { });
            vm.UpdateClick.Execute();
        }
示例#3
0
        public void TestMethod0060()
        {
            var testEntity = TestUtilLib.GenarateRandomTodoTask();

            var dialogParameters = new DialogParameters {
                { nameof(DialogWindowEditViewModel.Parameter), new DialogWindowEditViewModel.Parameter
                  {
                      TodoTask = testEntity,
                  } }
            };

            var vm = new DialogWindowEditViewModel();

            vm.OnDialogOpened(dialogParameters);

            // データベースにレコードが存在しない状態
            using (var context = new EfDbContext()) Assert.AreEqual(0, context.TodoTasks.Count());

            vm.AddClick.Execute();

            // この画面でレコードが登録される
            using (var context = new EfDbContext()) Assert.AreEqual(1, context.TodoTasks.Count());
        }
示例#4
0
        public void TestMethod0020()
        {
            var testEntity = TestUtilLib.GenarateRandomTodoTask();

            var dialogParameters = new DialogParameters {
                { nameof(DialogWindowEditViewModel.Parameter), new DialogWindowEditViewModel.Parameter
                  {
                      TodoTask = testEntity,
                  } }
            };

            var vm = new DialogWindowEditViewModel();

            vm.OnDialogOpened(dialogParameters);

            #region 初期表示の確認

            Assert.IsTrue(vm.CanCloseDialog());
            Assert.IsNotNull(vm.Title);

            Assert.AreEqual(testEntity.TodoTaskId, vm.TodoTaskId.Value);
            Assert.AreEqual(testEntity.DueDate.Value.Date, vm.DueDate.Value.Value.Date);
            Assert.AreEqual(testEntity.DueDate.Value.ToString("HH"), vm.DueDateHour.Value);
            Assert.AreEqual(testEntity.DueDate.Value.ToString("mm"), vm.DueDateMinute.Value);
            Assert.AreEqual(false, vm.Status.Value);
            Assert.AreEqual(testEntity.Subject, vm.Subject.Value);

            // 次のボタンは活性状態
            Assert.IsTrue(vm.UpdateClick.CanExecute());
            Assert.IsTrue(vm.CancelClick.CanExecute());
            Assert.IsTrue(vm.DeleteClick.CanExecute());
            Assert.IsTrue(vm.AddClick.CanExecute());

            #endregion

            #region 入力必須項目をクリアすると、ボタンが非活性状態となることの確認

            vm.OnDialogOpened(dialogParameters);
            vm.DueDate.Value = null;
            Assert.IsFalse(vm.UpdateClick.CanExecute());
            Assert.IsTrue(vm.CancelClick.CanExecute());
            Assert.IsTrue(vm.DeleteClick.CanExecute());
            Assert.IsFalse(vm.AddClick.CanExecute());

            vm.OnDialogOpened(dialogParameters);
            vm.DueDateHour.Value = null;
            Assert.IsFalse(vm.UpdateClick.CanExecute());
            Assert.IsTrue(vm.CancelClick.CanExecute());
            Assert.IsTrue(vm.DeleteClick.CanExecute());
            Assert.IsFalse(vm.AddClick.CanExecute());

            vm.OnDialogOpened(dialogParameters);
            vm.DueDateMinute.Value = null;
            Assert.IsFalse(vm.UpdateClick.CanExecute());
            Assert.IsTrue(vm.CancelClick.CanExecute());
            Assert.IsTrue(vm.DeleteClick.CanExecute());
            Assert.IsFalse(vm.AddClick.CanExecute());

            vm.OnDialogOpened(dialogParameters);
            vm.Subject.Value = null;
            Assert.IsFalse(vm.UpdateClick.CanExecute());
            Assert.IsTrue(vm.CancelClick.CanExecute());
            Assert.IsTrue(vm.DeleteClick.CanExecute());
            Assert.IsFalse(vm.AddClick.CanExecute());

            #endregion

            #region 追加確認([期日]が null の場合の表示)

            testEntity.DueDate = null;
            vm.OnDialogOpened(dialogParameters);
            Assert.IsNull(vm.DueDate.Value);
            Assert.IsNull(vm.DueDateHour.Value);
            Assert.IsNull(vm.DueDateMinute.Value);

            #endregion

            vm.OnDialogClosed();
        }
示例#5
0
 public void TestMethod0010()
 {
     using (var vm = new DialogWindowEditViewModel()) { vm.OnDialogOpened(null); }
 }