public void Test0030() { #region テストデータ準備 var testEntity1 = TestUtilLib.GenarateRandomTodoTask(); var testEntity2 = TestUtilLib.GenarateRandomTodoTask(); using (var context = new EfDbContext()) { context.Add(testEntity1); context.SaveChanges(); } using (var context = new EfDbContext()) Assert.AreEqual(1, context.TodoTasks.Count()); #endregion var dbEntity1 = DalTodoTask.Find(testEntity1.TodoTaskId); var dbEntity2 = DalTodoTask.Find(testEntity2.TodoTaskId); Assert.IsNull(dbEntity2); #region DBから取得したエンティティと値を比較(全て一致するはず) foreach (var property in testEntity1.GetType().GetProperties()) { Assert.AreEqual(property.GetValue(testEntity1), property.GetValue(dbEntity1)); } #endregion }
public void Test0070() { #region テストデータ準備 var testEntity = TestUtilLib.GenarateRandomTodoTask(); var testEntity1 = new TodoTask().CopyValuesFrom(testEntity); testEntity1.TodoTaskId = "a"; testEntity1.DueDate = testEntity1.DueDate.Value.AddSeconds(1); var testEntity2 = new TodoTask().CopyValuesFrom(testEntity); testEntity2.TodoTaskId = "c"; var testEntity3 = new TodoTask().CopyValuesFrom(testEntity); testEntity3.TodoTaskId = "b"; using (var context = new EfDbContext()) { context.Add(testEntity1); context.Add(testEntity2); context.Add(testEntity3); context.SaveChanges(); } using (var context = new EfDbContext()) Assert.AreEqual(3, context.TodoTasks.Count()); #endregion List <TodoTask> dbEntities; dbEntities = DalTodoTask.SelectAll(); Assert.AreEqual(3, dbEntities.Count); int i = 0; Assert.AreEqual(testEntity3.TodoTaskId, dbEntities[i++].TodoTaskId); Assert.AreEqual(testEntity2.TodoTaskId, dbEntities[i++].TodoTaskId); Assert.AreEqual(testEntity1.TodoTaskId, dbEntities[i++].TodoTaskId); }
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(); }
public void TestMethod0050() { #region テストデータ準備 var testEntityOrg = TestUtilLib.GenarateRandomTodoTask(); testEntityOrg.StatusCode = StatusCode.CODE_NOT_YET; using (var context = new EfDbContext()) { context.Add(testEntityOrg); context.SaveChanges(); } using (var context = new EfDbContext()) Assert.AreEqual(1, context.TodoTasks.Count()); #endregion var vm = new MainViewModel(new DummyDialogService()); vm.OnNavigatedTo(new Prism.Regions.NavigationContext(null, new Uri("dummy", UriKind.Relative))); #region ボタン〔編集〕押下 ⇒ 編集画面右上[×]ボタン押下で戻る // 編集前、データグリッドにはテストデータの行が存在する Assert.AreEqual(1, vm.DataGridItemsSource.Count); vm.EditClick.Execute(); // 編集前と変わらず、データグリッドにはテストデータの行が存在する Assert.AreEqual(1, vm.DataGridItemsSource.Count); #endregion }
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(); }
public void Test0040() { #region テストデータ準備 var testEntityBeforeUpdate = TestUtilLib.GenarateRandomTodoTask(); var testEntityOfUpdate = TestUtilLib.GenarateRandomTodoTask(); testEntityOfUpdate.TodoTaskId = testEntityBeforeUpdate.TodoTaskId; testEntityOfUpdate.DueDate = testEntityBeforeUpdate.DueDate.Value.AddMinutes(1); using (var context = new EfDbContext()) { context.Add(testEntityBeforeUpdate); context.SaveChanges(); } using (var context = new EfDbContext()) Assert.AreEqual(1, context.TodoTasks.Count()); #endregion Assert.AreEqual(0, DalTodoTask.Update(new TodoTask { TodoTaskId = null })); Assert.AreEqual(1, DalTodoTask.Update(testEntityOfUpdate)); List <TodoTask> dbEntities; #region データを取得し、結果を確認(全て一致するはず(レコード登録日時、レコード更新日時 は比較除外)) using (var context = new EfDbContext()) dbEntities = context.TodoTasks.ToList(); Assert.AreEqual(1, dbEntities.Count); var dbEntity = dbEntities[0]; foreach (var property in testEntityOfUpdate.GetType().GetProperties()) { switch (property.Name) { case nameof(testEntityOfUpdate.TodoTaskId): Assert.AreEqual(property.GetValue(testEntityBeforeUpdate), property.GetValue(dbEntity)); Assert.AreEqual(property.GetValue(testEntityOfUpdate), property.GetValue(dbEntity)); break; case nameof(testEntityOfUpdate.CreateDateTime): case nameof(testEntityOfUpdate.UpdateDateTime): break; default: Assert.AreNotEqual(property.GetValue(testEntityBeforeUpdate), property.GetValue(dbEntity)); Assert.AreEqual(property.GetValue(testEntityOfUpdate), property.GetValue(dbEntity)); break; } } #endregion }
public void Test0020() { #region テストデータ準備 var testEntity = TestUtilLib.GenarateRandomTodoTask(); var testEntity1 = new TodoTask().CopyValuesFrom(testEntity); var testEntity2 = new TodoTask().CopyValuesFrom(testEntity); var testEntity3 = new TodoTask().CopyValuesFrom(testEntity); var testEntity4 = new TodoTask().CopyValuesFrom(testEntity); { int i = 1; testEntity1.TodoTaskId = i++.ToString(); testEntity1.StatusCode = StatusCode.CODE_NOT_YET; testEntity2.TodoTaskId = i++.ToString(); testEntity2.StatusCode = StatusCode.CODE_FINISHED; testEntity3.TodoTaskId = i++.ToString(); testEntity3.StatusCode = StatusCode.NAME_NOT_YET; testEntity4.TodoTaskId = i++.ToString(); testEntity4.StatusCode = StatusCode.NAME_FINISHED; } using (var context = new EfDbContext()) { context.Add(testEntity1); context.Add(testEntity2); context.Add(testEntity3); context.Add(testEntity4); context.SaveChanges(); } using (var context = new EfDbContext()) Assert.AreEqual(4, context.TodoTasks.Count()); #endregion IRequest request = new Request(); MainViewSearch logic = new MainViewSearch(); IResponse response = logic.DoProcess(request); var searchResults = ((MainViewSearch.Result)response.Result).TodoTasks; Assert.AreEqual(3, searchResults.Count); { int i = 0; Assert.AreEqual(testEntity1.TodoTaskId, searchResults[i++].TodoTaskId); Assert.AreEqual(testEntity3.TodoTaskId, searchResults[i++].TodoTaskId); Assert.AreEqual(testEntity4.TodoTaskId, searchResults[i++].TodoTaskId); } }
public void TestMethod0060() { #region テストデータ準備 var testEntityOrg = TestUtilLib.GenarateRandomTodoTask(); testEntityOrg.StatusCode = StatusCode.CODE_NOT_YET; using (var context = new EfDbContext()) { context.Add(testEntityOrg); context.SaveChanges(); } using (var context = new EfDbContext()) Assert.AreEqual(1, context.TodoTasks.Count()); #endregion #region ロジックの応答を設定 var testEntityUpd = testEntityOrg.CopyValuesFrom(testEntityOrg); testEntityUpd.StatusCode = StatusCode.CODE_FINISHED; var result = new DialogParameters { { nameof(DialogWindowEditViewModel.Result), new DialogWindowEditViewModel.Result { TodoTask = testEntityUpd } } }; #endregion var vm = new MainViewModel(new DummyDialogService()) { TestDialogResult = new DialogResult(ButtonResult.OK), TestDialogParameters = result, }; vm.OnNavigatedTo(new Prism.Regions.NavigationContext(null, new Uri("dummy", UriKind.Relative))); #region ボタン〔編集〕押下 ⇒ 編集画面〔更新〕押下で戻る // 編集前、データグリッドにはテストデータの行が存在する Assert.AreEqual(1, vm.DataGridItemsSource.Count); vm.EditClick.Execute(); // 全てのレコードがステータス「finished」になったので、データグリッドの表示行数もゼロ Assert.AreEqual(0, vm.DataGridItemsSource.Count); #endregion }
public void Test0020() { #region テストデータ準備 var testEntityCopyFrom = TestUtilLib.GenarateRandomTodoTask(); var testEntityCopyTo = TestUtilLib.GenarateRandomTodoTask(); testEntityCopyTo.CreateDateTime = DateTime.MinValue.AddMinutes(1); testEntityCopyTo.UpdateDateTime = DateTime.MaxValue.AddMinutes(-1); testEntityCopyTo.DueDate = testEntityCopyFrom.DueDate.Value.AddMinutes(1); foreach (var property in testEntityCopyFrom.GetType().GetProperties()) { switch (property.Name) { case nameof(testEntityCopyFrom.CreateDateTime): case nameof(testEntityCopyFrom.UpdateDateTime): break; default: Assert.AreNotEqual(property.GetValue(testEntityCopyFrom), property.GetValue(testEntityCopyTo)); break; } } #endregion DalTodoTask.CopyValuesFrom(testEntityCopyTo, testEntityCopyFrom); #region コピー後の値を比較(レコードID、レコード登録日時、レコード更新日時 以外は一致するはず) foreach (var property in testEntityCopyFrom.GetType().GetProperties()) { switch (property.Name) { case nameof(testEntityCopyFrom.TodoTaskId): case nameof(testEntityCopyFrom.CreateDateTime): case nameof(testEntityCopyFrom.UpdateDateTime): Assert.AreNotEqual(property.GetValue(testEntityCopyFrom), property.GetValue(testEntityCopyTo)); break; default: Assert.AreEqual(property.GetValue(testEntityCopyFrom), property.GetValue(testEntityCopyTo)); break; } } #endregion }
public void TestMethod0040() { #region テストデータ準備 var testEntity1 = TestUtilLib.GenarateRandomTodoTask(); var testEntity2 = TestUtilLib.GenarateRandomTodoTask(); { testEntity1.StatusCode = StatusCode.CODE_NOT_YET; testEntity2.StatusCode = StatusCode.CODE_FINISHED; } using (var context = new EfDbContext()) { context.Add(testEntity1); context.Add(testEntity2); context.SaveChanges(); } using (var context = new EfDbContext()) Assert.AreEqual(2, context.TodoTasks.Count()); #endregion var vm = new MainViewModel(new DummyDialogService()); vm.OnNavigatedTo(new Prism.Regions.NavigationContext(null, new Uri("dummy", UriKind.Relative))); #region 初期表示の確認 // データグリッドには、ステータス「not yet」のレコードのみが表示されている Assert.AreEqual(1, vm.DataGridItemsSource.Count); Assert.AreEqual(testEntity1.TodoTaskId, vm.DataGridItemsSource[0].TodoTask.TodoTaskId); // 行が未選択状態 ⇒ 行を選択 Assert.IsNull(vm.DataGridSelectedItem.Value); vm.DataGridSelectedItem.Value = vm.DataGridItemsSource[0]; Assert.AreEqual(testEntity1.TodoTaskId, vm.DataGridSelectedItem.Value.TodoTask.TodoTaskId); Assert.AreEqual(StatusCode.NAME_NOT_YET, vm.DataGridSelectedItem.Value.TodoTaskStatusName); #endregion #region ボタン〔完了〕押下 vm.FinishClick.Execute(); // 全てのレコードがステータス「finished」になったので、データグリッドの表示行数もゼロ Assert.AreEqual(0, vm.DataGridItemsSource.Count); #endregion }
public void Test0060() { #region テストデータ準備 var testEntityExist = TestUtilLib.GenarateRandomTodoTask(); var testEntityNotExist = TestUtilLib.GenarateRandomTodoTask(); using (var context = new EfDbContext()) { context.Add(testEntityExist); context.SaveChanges(); } using (var context = new EfDbContext()) Assert.AreEqual(1, context.TodoTasks.Count()); #endregion Assert.AreEqual(1, DalTodoTask.Delete(testEntityExist.TodoTaskId)); Assert.AreEqual(0, DalTodoTask.Delete(testEntityNotExist.TodoTaskId)); using (var context = new EfDbContext()) Assert.AreEqual(0, context.TodoTasks.Count()); }
public void Test0010() { #region テストデータ準備 var testEntity = TestUtilLib.GenarateRandomTodoTask(); var testEntity1 = new TodoTask().CopyValuesFrom(testEntity); var testEntity2 = new TodoTask().CopyValuesFrom(testEntity); var testEntity3 = new TodoTask().CopyValuesFrom(testEntity); { testEntity1.TodoTaskId = "a"; testEntity1.DueDate = testEntity1.DueDate.Value.AddSeconds(1); testEntity2.TodoTaskId = "c"; testEntity3.TodoTaskId = "b"; } using (var context = new EfDbContext()) { context.Add(testEntity1); context.Add(testEntity2); context.Add(testEntity3); context.SaveChanges(); } using (var context = new EfDbContext()) Assert.AreEqual(3, context.TodoTasks.Count()); #endregion IRequest request = new Request(); MainViewSearch logic = new MainViewSearch(); IResponse response = logic.DoProcess(request); var searchResults = ((MainViewSearch.Result)response.Result).TodoTasks; Assert.AreEqual(3, searchResults.Count); { int i = 0; Assert.AreEqual(testEntity3.TodoTaskId, searchResults[i++].TodoTaskId); Assert.AreEqual(testEntity2.TodoTaskId, searchResults[i++].TodoTaskId); Assert.AreEqual(testEntity1.TodoTaskId, searchResults[i++].TodoTaskId); } }
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()); }
public void TestMethod0030() { #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 #region ロジックの応答を設定 var mockResponse = new Mock <IResponse>(); mockResponse.Setup(c => c.IsSucceed).Returns(false); #endregion var vm = new EditViewModel(new DummyDialogService()) { TestRequest = new Request { Parameter = new EditViewSearch.Parameter() }, TestResponse = mockResponse.Object }; vm.OnNavigatedTo(new Prism.Regions.NavigationContext(null, new Uri("dummy", UriKind.Relative))); #region データ検索エラーの確認 // データ検索が失敗しているので、データグリッドの表示行数もゼロ Assert.AreEqual(0, vm.DataGridItemsSource.Count); #endregion }
public void Test0025() { #region テストデータ準備 var testEntityCopyFrom = TestUtilLib.GenarateRandomTodoTask(); var testEntityCopyTo = new TodoTaskCanWriteTest("dummy"); #endregion DalTodoTask.CopyValuesFrom(testEntityCopyTo, testEntityCopyFrom); #region コピー後の値を比較(レコードID、追加プロパティ 以外は一致するはず(レコード登録日時、レコード更新日時 は比較除外)) foreach (var property in testEntityCopyTo.GetType().GetProperties()) { switch (property.Name) { case nameof(testEntityCopyTo.TodoTaskId): Assert.AreNotEqual(property.GetValue(testEntityCopyFrom), property.GetValue(testEntityCopyTo)); break; case nameof(testEntityCopyTo.CreateDateTime): case nameof(testEntityCopyTo.UpdateDateTime): break; case nameof(testEntityCopyTo.CanWriteTest): Assert.AreEqual("dummy", property.GetValue(testEntityCopyTo)); break; default: Assert.AreEqual(property.GetValue(testEntityCopyFrom), property.GetValue(testEntityCopyTo)); break; } } #endregion }
public void Test0010() { #region テストデータ準備 var testEntity = TestUtilLib.GenarateRandomTodoTask(); using (var context = new EfDbContext()) Assert.AreEqual(0, context.TodoTasks.Count()); #endregion Assert.AreEqual(1, DalTodoTask.Add(testEntity)); #region データを取得し、結果を確認(レコード登録日時、レコード更新日時 以外は一致するはず) List <TodoTask> dbEntities; using (var context = new EfDbContext()) dbEntities = context.TodoTasks.ToList(); Assert.AreEqual(1, dbEntities.Count); var dbEntity = dbEntities[0]; foreach (var property in testEntity.GetType().GetProperties()) { switch (property.Name) { case nameof(testEntity.CreateDateTime): case nameof(testEntity.UpdateDateTime): Assert.AreNotEqual(property.GetValue(testEntity), property.GetValue(dbEntity)); break; default: Assert.AreEqual(property.GetValue(testEntity), property.GetValue(dbEntity)); break; } } #endregion }
public void Test0020() { #region テストデータ準備 var testEntity = TestUtilLib.GenarateRandomTodoTask(); var testEntity1 = new TodoTask().CopyValuesFrom(testEntity); var testEntity2 = new TodoTask().CopyValuesFrom(testEntity); var testEntity3 = new TodoTask().CopyValuesFrom(testEntity); var testEntity4 = new TodoTask().CopyValuesFrom(testEntity); var testEntity5 = new TodoTask().CopyValuesFrom(testEntity); { int i = 1; testEntity1.TodoTaskId = i++.ToString(); testEntity1.Subject = "検索条件"; testEntity2.TodoTaskId = i++.ToString(); testEntity2.Subject = "_検索条件"; testEntity3.TodoTaskId = i++.ToString(); testEntity3.Subject = "検索条件_"; testEntity4.TodoTaskId = i++.ToString(); testEntity4.Subject = "_検索条件_"; testEntity5.TodoTaskId = i++.ToString(); testEntity5.Subject = "検索_条件"; } using (var context = new EfDbContext()) { context.Add(testEntity1); context.Add(testEntity2); context.Add(testEntity3); context.Add(testEntity4); context.Add(testEntity5); context.SaveChanges(); } using (var context = new EfDbContext()) Assert.AreEqual(5, context.TodoTasks.Count()); #endregion var parameter = new EditViewSearch.Parameter { SearchConditionsText = "検索条件" }; IRequest request = new Request { Parameter = parameter }; EditViewSearch logic = new EditViewSearch(); IResponse response = logic.DoProcess(request); var searchResults = ((EditViewSearch.Result)response.Result).TodoTasks; Assert.AreEqual(4, searchResults.Count); { int i = 0; Assert.AreEqual(testEntity1.TodoTaskId, searchResults[i++].TodoTaskId); Assert.AreEqual(testEntity2.TodoTaskId, searchResults[i++].TodoTaskId); Assert.AreEqual(testEntity3.TodoTaskId, searchResults[i++].TodoTaskId); Assert.AreEqual(testEntity4.TodoTaskId, searchResults[i++].TodoTaskId); } }
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(); }
public static void ClassInitialize(TestContext test_context) { TestUtilLib.PrepareESqlite3Dll(); }
public void TestMethod0070() { var testEntity = TestUtilLib.GenarateRandomTodoTask(); var vm = new EditViewModel(new DummyDialogService()); vm.OnNavigatedTo(new Prism.Regions.NavigationContext(null, new Uri("dummy", UriKind.Relative))); #region 画面の各項目を入力して〔追加〕を押下し、その結果をデータグリッドで確認 // 必須項目入力前、ボタンは非活性状態 Assert.IsFalse(vm.AddClick.CanExecute()); // 必須項目入力後、ボタンは活性状態となる vm.DueDate.Value = testEntity.DueDate.Value.Date; Assert.IsFalse(vm.AddClick.CanExecute()); vm.DueDateHour.Value = testEntity.DueDate.Value.ToString("HH"); Assert.IsFalse(vm.AddClick.CanExecute()); vm.DueDateMinute.Value = testEntity.DueDate.Value.ToString("mm"); Assert.IsFalse(vm.AddClick.CanExecute()); vm.Subject.Value = testEntity.Subject; Assert.IsTrue(vm.AddClick.CanExecute()); Assert.IsFalse(vm.UpdateClick.CanExecute()); // ボタン〔更新〕は非活性 vm.AddClick.Execute(); // データグリッドに、入力した行が追加される Assert.AreEqual(1, vm.DataGridItemsSource.Count); { var dataGridItem = vm.DataGridItemsSource[0]; Assert.AreNotEqual(testEntity.TodoTaskId, dataGridItem.TodoTask.TodoTaskId); // 新しいレコードなので、レコードIDは一致しない Assert.AreEqual(testEntity.DueDate.Value.Date.AddHours(testEntity.DueDate.Value.Hour).AddMinutes(testEntity.DueDate.Value.Minute), dataGridItem.TodoTask.DueDate); Assert.AreEqual(StatusCode.CODE_NOT_YET, dataGridItem.TodoTask.StatusCode); Assert.AreEqual(testEntity.Subject, dataGridItem.TodoTask.Subject); } // 各入力項目の値はクリアされ、ボタンも非活性状態となる Assert.IsNull(vm.TodoTaskId.Value); Assert.IsNull(vm.DueDate.Value); Assert.IsNull(vm.DueDateHour.Value); Assert.IsNull(vm.DueDateMinute.Value); Assert.IsFalse(vm.Status.Value); Assert.IsNull(vm.Subject.Value); Assert.IsFalse(vm.AddClick.CanExecute()); #endregion #region データグリッドの行を選択し、入力項目を変更せずに〔追加〕を押下する。もう一行レコードが追加されることをデータグリッドで確認 // データグリッドの行を選択すると、各入力項目に値がセットされる vm.DataGridSelectedItem.Value = vm.DataGridItemsSource[0]; 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.AddClick.CanExecute()); // 入力必須項目をクリアすると、ボタンは非活性状態となる vm.DataGridSelectedItem.Value = vm.DataGridItemsSource[0]; vm.DueDate.Value = null; Assert.IsFalse(vm.AddClick.CanExecute()); vm.DataGridSelectedItem.Value = vm.DataGridItemsSource[0]; vm.DueDateHour.Value = null; Assert.IsFalse(vm.AddClick.CanExecute()); vm.DataGridSelectedItem.Value = vm.DataGridItemsSource[0]; vm.DueDateMinute.Value = null; Assert.IsFalse(vm.AddClick.CanExecute()); vm.DataGridSelectedItem.Value = vm.DataGridItemsSource[0]; vm.Subject.Value = null; Assert.IsFalse(vm.AddClick.CanExecute()); vm.AddClick.Execute(); // データグリッドに、入力した行が追加される Assert.AreEqual(2, vm.DataGridItemsSource.Count); { var dataGridItem = vm.DataGridItemsSource[1]; Assert.AreNotEqual(testEntity.TodoTaskId, dataGridItem.TodoTask.TodoTaskId); // 新しいレコードなので、レコードIDは一致しない Assert.AreEqual(testEntity.DueDate.Value.Date.AddHours(testEntity.DueDate.Value.Hour).AddMinutes(testEntity.DueDate.Value.Minute), dataGridItem.TodoTask.DueDate); Assert.AreEqual(StatusCode.CODE_NOT_YET, dataGridItem.TodoTask.StatusCode); Assert.AreEqual(testEntity.Subject, dataGridItem.TodoTask.Subject); } #endregion }
public void TestMethod0060() { var inputDueDate = DateTime.MinValue.Date; var inputDueDateHour = "23"; var inputDueDateMinute = "59"; var inputStatus = true; var inputSubject = "ButtonUpdateTest"; #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 vm = new EditViewModel(new DummyDialogService()); vm.OnNavigatedTo(new Prism.Regions.NavigationContext(null, new Uri("dummy", UriKind.Relative))); #region 初期表示の確認 // データグリッドの表示内容は、更新前の状態 Assert.AreEqual(1, vm.DataGridItemsSource.Count); { var dataGridItem = vm.DataGridItemsSource[0]; Assert.AreEqual(testEntity.TodoTaskId, dataGridItem.TodoTask.TodoTaskId); Assert.AreEqual(testEntity.DueDate, dataGridItem.TodoTask.DueDate); Assert.AreEqual(testEntity.StatusCode, dataGridItem.TodoTask.StatusCode); Assert.AreEqual(testEntity.Subject, dataGridItem.TodoTask.Subject); } // ボタンは非活性状態 Assert.IsFalse(vm.UpdateClick.CanExecute()); #endregion #region データグリッドの行を選択・各入力項目の有無によるボタン活性状態変更の確認 // データグリッドの行を選択すると、各入力項目に値がセットされる vm.DataGridSelectedItem.Value = vm.DataGridItemsSource[0]; 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()); // 入力必須項目をクリアすると、ボタンは非活性状態となる vm.DataGridSelectedItem.Value = vm.DataGridItemsSource[0]; vm.DueDate.Value = null; Assert.IsFalse(vm.UpdateClick.CanExecute()); vm.DataGridSelectedItem.Value = vm.DataGridItemsSource[0]; vm.DueDateHour.Value = null; Assert.IsFalse(vm.UpdateClick.CanExecute()); vm.DataGridSelectedItem.Value = vm.DataGridItemsSource[0]; vm.DueDateMinute.Value = null; Assert.IsFalse(vm.UpdateClick.CanExecute()); vm.DataGridSelectedItem.Value = vm.DataGridItemsSource[0]; vm.Subject.Value = null; Assert.IsFalse(vm.UpdateClick.CanExecute()); #endregion #region 画面の各項目を入力して〔更新〕を押下し、その結果をデータグリッドで確認 vm.DueDate.Value = inputDueDate; vm.DueDateHour.Value = inputDueDateHour; vm.DueDateMinute.Value = inputDueDateMinute; vm.Status.Value = inputStatus; vm.Subject.Value = inputSubject; vm.UpdateClick.Execute(); // データグリッドの表示内容は、各項目に入力した値に変化する Assert.AreEqual(1, vm.DataGridItemsSource.Count); { var dataGridItem = vm.DataGridItemsSource[0]; Assert.AreEqual(testEntity.TodoTaskId, dataGridItem.TodoTask.TodoTaskId); Assert.AreEqual(inputDueDate.AddHours(Convert.ToInt32(inputDueDateHour)).AddMinutes(Convert.ToInt32(inputDueDateMinute)), dataGridItem.TodoTask.DueDate); Assert.AreEqual(StatusCode.CODE_FINISHED, dataGridItem.TodoTask.StatusCode); Assert.AreEqual(inputSubject, dataGridItem.TodoTask.Subject); } // 各入力項目の値はクリアされ、ボタンも非活性状態となる Assert.IsNull(vm.TodoTaskId.Value); Assert.IsNull(vm.DueDate.Value); Assert.IsNull(vm.DueDateHour.Value); Assert.IsNull(vm.DueDateMinute.Value); Assert.IsFalse(vm.Status.Value); Assert.IsNull(vm.Subject.Value); Assert.IsFalse(vm.UpdateClick.CanExecute()); #endregion }
public void TestMethod0050() { #region テストデータ準備 var testEntity1 = TestUtilLib.GenarateRandomTodoTask(); var testEntity2 = TestUtilLib.GenarateRandomTodoTask(); var testEntity3 = TestUtilLib.GenarateRandomTodoTask(); { var testDateTime = DateTime.Now; int i = 0; testEntity1.StatusCode = StatusCode.CODE_FINISHED; testEntity1.DueDate = testDateTime.AddMilliseconds(i++); testEntity2.StatusCode = StatusCode.CODE_FINISHED; testEntity2.DueDate = testDateTime.AddMilliseconds(i++); testEntity3.StatusCode = StatusCode.CODE_FINISHED; testEntity3.DueDate = testDateTime.AddMilliseconds(i++); } using (var context = new EfDbContext()) { context.Add(testEntity1); context.Add(testEntity2); context.Add(testEntity3); context.SaveChanges(); } using (var context = new EfDbContext()) Assert.AreEqual(3, context.TodoTasks.Count()); #endregion var vm = new EditViewModel(new DummyDialogService()); vm.OnNavigatedTo(new Prism.Regions.NavigationContext(null, new Uri("dummy", UriKind.Relative))); #region チェックボックスで削除行を選択せずに、ボタン〔選択した行を削除〕押下 Assert.AreEqual(3, vm.DataGridItemsSource.Count); // データグリッドの行を選択すると、各入力項目に値がセットされる Assert.AreEqual(testEntity2.TodoTaskId, vm.DataGridItemsSource[1].TodoTask.TodoTaskId); vm.DataGridSelectedItem.Value = vm.DataGridItemsSource[1]; Assert.AreEqual(testEntity2.TodoTaskId, vm.TodoTaskId.Value); Assert.AreEqual(testEntity2.DueDate.Value.Date, vm.DueDate.Value.Value.Date); Assert.AreEqual(testEntity2.DueDate.Value.ToString("HH"), vm.DueDateHour.Value); Assert.AreEqual(testEntity2.DueDate.Value.ToString("mm"), vm.DueDateMinute.Value); Assert.AreEqual(testEntity2.Subject, vm.Subject.Value); // ボタン〔選択した行を削除〕を押下したが、チェックボックスで削除行を選択していないため // 削除処理は行われず、画面の表示状態は変化しない vm.DeleteClick.Execute(); Assert.AreEqual(3, vm.DataGridItemsSource.Count); Assert.AreEqual(testEntity2.TodoTaskId, vm.TodoTaskId.Value); Assert.AreEqual(testEntity2.DueDate.Value.Date, vm.DueDate.Value.Value.Date); Assert.AreEqual(testEntity2.DueDate.Value.ToString("HH"), vm.DueDateHour.Value); Assert.AreEqual(testEntity2.DueDate.Value.ToString("mm"), vm.DueDateMinute.Value); Assert.AreEqual(testEntity2.Subject, vm.Subject.Value); #endregion #region チェックボックスで削除行を選択して、ボタン〔選択した行を削除〕押下 Assert.AreEqual(3, vm.DataGridItemsSource.Count); // チェックボックスで削除行を選択し、ボタン〔選択した行を削除〕を押下 // データグリッドからその行が無くなり、各入力項目の値もクリアされる Assert.AreEqual(testEntity2.TodoTaskId, vm.DataGridItemsSource[1].TodoTask.TodoTaskId); vm.DataGridItemsSource[1].IsChecked = true; vm.DeleteClick.Execute(); Assert.AreEqual(2, vm.DataGridItemsSource.Count); { int i = 0; Assert.AreEqual(testEntity1.TodoTaskId, vm.DataGridItemsSource[i++].TodoTask.TodoTaskId); Assert.AreEqual(testEntity3.TodoTaskId, vm.DataGridItemsSource[i++].TodoTask.TodoTaskId); } Assert.IsNull(vm.TodoTaskId.Value); Assert.IsNull(vm.DueDate.Value); Assert.IsNull(vm.DueDateHour.Value); Assert.IsNull(vm.DueDateMinute.Value); Assert.IsFalse(vm.Status.Value); Assert.IsNull(vm.Subject.Value); #endregion #region チェックボックスで削除行を全て選択して、ボタン〔選択した行を削除〕押下 Assert.AreEqual(2, vm.DataGridItemsSource.Count); for (int i = 0; i < vm.DataGridItemsSource.Count; i++) { vm.DataGridItemsSource[i].IsChecked = true; } vm.DeleteClick.Execute(); // データグリッドから全ての行が無くなる Assert.AreEqual(0, vm.DataGridItemsSource.Count); #endregion }
public void TestMethod0040() { var subjectMatch = "検索条件"; var subjectUnMatch = "検索_条件"; var today = DateTime.Now.Date; var yesterday = today.AddDays(-1); var tommorow = today.AddDays(1); #region テストデータ準備 var testEntity1 = TestUtilLib.GenarateRandomTodoTask(); var testEntity2 = TestUtilLib.GenarateRandomTodoTask(); var testEntity3 = TestUtilLib.GenarateRandomTodoTask(); var testEntity4 = TestUtilLib.GenarateRandomTodoTask(); { testEntity1.Subject = subjectMatch; testEntity1.DueDate = yesterday; testEntity2.Subject = subjectMatch; testEntity2.DueDate = today; testEntity2.StatusCode = StatusCode.CODE_FINISHED; testEntity3.Subject = subjectUnMatch; testEntity3.DueDate = tommorow.AddMilliseconds(-1); testEntity4.Subject = subjectMatch; testEntity4.DueDate = tommorow; } using (var context = new EfDbContext()) { context.Add(testEntity1); context.Add(testEntity2); context.Add(testEntity3); context.Add(testEntity4); context.SaveChanges(); } using (var context = new EfDbContext()) Assert.AreEqual(4, context.TodoTasks.Count()); #endregion var vm = new EditViewModel(new DummyDialogService()); vm.OnNavigatedTo(new Prism.Regions.NavigationContext(null, new Uri("dummy", UriKind.Relative))); #region 初期表示の確認 // データグリッドには、全てのレコードが表示される(絞り込み条件を入力していないため) Assert.AreEqual(4, vm.DataGridItemsSource.Count); #endregion #region [検索ワード]のみを入力し、ボタン〔検索〕押下 vm.SearchConditionsText.Value = subjectMatch; vm.SearchClick.Execute(); // データグリッドには、条件に一致したレコードのみが表示される Assert.AreEqual(3, vm.DataGridItemsSource.Count); { int i = 0; Assert.AreEqual(testEntity1.TodoTaskId, vm.DataGridItemsSource[i++].TodoTask.TodoTaskId); Assert.AreEqual(testEntity2.TodoTaskId, vm.DataGridItemsSource[i++].TodoTask.TodoTaskId); Assert.AreEqual(testEntity4.TodoTaskId, vm.DataGridItemsSource[i++].TodoTask.TodoTaskId); } #endregion #region ボタン〔検索条件クリア〕押下後、[検索開始日]のみを入力し、ボタン〔検索〕押下 vm.SearchConditionsClearClick.Execute(); vm.SearchConditionsDateFrom.Value = today; vm.SearchClick.Execute(); // データグリッドには、条件に一致したレコードのみが表示される Assert.AreEqual(3, vm.DataGridItemsSource.Count); { int i = 0; Assert.AreEqual(testEntity2.TodoTaskId, vm.DataGridItemsSource[i++].TodoTask.TodoTaskId); Assert.AreEqual(testEntity3.TodoTaskId, vm.DataGridItemsSource[i++].TodoTask.TodoTaskId); Assert.AreEqual(testEntity4.TodoTaskId, vm.DataGridItemsSource[i++].TodoTask.TodoTaskId); } #endregion #region ボタン〔検索条件クリア〕押下後、[検索終了日]のみを入力し、ボタン〔検索〕押下 vm.SearchConditionsClearClick.Execute(); vm.SearchConditionsDateTo.Value = today; vm.SearchClick.Execute(); // データグリッドには、条件に一致したレコードのみが表示される Assert.AreEqual(3, vm.DataGridItemsSource.Count); { int i = 0; Assert.AreEqual(testEntity1.TodoTaskId, vm.DataGridItemsSource[i++].TodoTask.TodoTaskId); Assert.AreEqual(testEntity2.TodoTaskId, vm.DataGridItemsSource[i++].TodoTask.TodoTaskId); Assert.AreEqual(testEntity3.TodoTaskId, vm.DataGridItemsSource[i++].TodoTask.TodoTaskId); } #endregion #region ボタン〔検索条件クリア〕押下後、全ての検索項目を入力し、ボタン〔検索〕押下 vm.SearchConditionsClearClick.Execute(); vm.SearchConditionsText.Value = subjectMatch; vm.SearchConditionsDateFrom.Value = today; vm.SearchConditionsDateTo.Value = today; vm.SearchClick.Execute(); // データグリッドには、条件に一致したレコードのみが表示される Assert.AreEqual(1, vm.DataGridItemsSource.Count); Assert.AreEqual(testEntity2.TodoTaskId, vm.DataGridItemsSource[0].TodoTask.TodoTaskId); Assert.AreEqual(StatusCode.NAME_FINISHED, vm.DataGridItemsSource[0].TodoTaskStatusName); #endregion }
public void Test0050() { var subjectMatch = "検索条件"; var subjectUnMatch = "検索_条件"; var testDateTime = DateTime.Now; var yesterday = testDateTime.Date.AddDays(-1); var today = testDateTime.Date; var tommorow = testDateTime.Date.AddDays(1); #region テストデータ準備 var testEntity = TestUtilLib.GenarateRandomTodoTask(); var testEntity1 = new TodoTask().CopyValuesFrom(testEntity); var testEntity2 = new TodoTask().CopyValuesFrom(testEntity); var testEntity3 = new TodoTask().CopyValuesFrom(testEntity); var testEntity4 = new TodoTask().CopyValuesFrom(testEntity); var testEntity5 = new TodoTask().CopyValuesFrom(testEntity); var testEntity6 = new TodoTask().CopyValuesFrom(testEntity); { int i = 1; testEntity1.TodoTaskId = i++.ToString(); testEntity1.Subject = subjectMatch; testEntity1.DueDate = yesterday; testEntity2.TodoTaskId = i++.ToString(); testEntity2.Subject = subjectUnMatch; testEntity2.DueDate = yesterday; testEntity3.TodoTaskId = i++.ToString(); testEntity3.Subject = subjectMatch; testEntity3.DueDate = today; testEntity4.TodoTaskId = i++.ToString(); testEntity4.Subject = subjectUnMatch; testEntity4.DueDate = today; testEntity5.TodoTaskId = i++.ToString(); testEntity5.Subject = subjectMatch; testEntity5.DueDate = tommorow; testEntity6.TodoTaskId = i++.ToString(); testEntity6.Subject = subjectUnMatch; testEntity6.DueDate = tommorow; } using (var context = new EfDbContext()) { context.Add(testEntity1); context.Add(testEntity2); context.Add(testEntity3); context.Add(testEntity4); context.Add(testEntity5); context.Add(testEntity6); context.SaveChanges(); } using (var context = new EfDbContext()) Assert.AreEqual(6, context.TodoTasks.Count()); #endregion var parameter = new EditViewSearch.Parameter { SearchConditionsText = subjectMatch, SearchConditionsDateFrom = testDateTime, SearchConditionsDateTo = testDateTime, }; IRequest request = new Request { Parameter = parameter }; EditViewSearch logic = new EditViewSearch(); IResponse response = logic.DoProcess(request); var searchResults = ((EditViewSearch.Result)response.Result).TodoTasks; Assert.AreEqual(1, searchResults.Count); { int i = 0; Assert.AreEqual(testEntity3.TodoTaskId, searchResults[i++].TodoTaskId); } }
public void TestInitialize() { TestUtilLib.TruncateTables(); }
public void Test0040() { var testDateTime = DateTime.Now; #region テストデータ準備 var testEntity = TestUtilLib.GenarateRandomTodoTask(); var testEntity1 = new TodoTask().CopyValuesFrom(testEntity); var testEntity2 = new TodoTask().CopyValuesFrom(testEntity); var testEntity3 = new TodoTask().CopyValuesFrom(testEntity); var testEntity4 = new TodoTask().CopyValuesFrom(testEntity); var testEntity5 = new TodoTask().CopyValuesFrom(testEntity); { int i = 1; testEntity1.TodoTaskId = i++.ToString(); testEntity1.DueDate = testDateTime.Date.AddMilliseconds(-1); // 昨日の 23:59:59.999 testEntity2.TodoTaskId = i++.ToString(); testEntity2.DueDate = testDateTime.Date; // 本日の 00:00:00.000 testEntity3.TodoTaskId = i++.ToString(); testEntity3.DueDate = testDateTime; // 本日の今の時刻 testEntity4.TodoTaskId = i++.ToString(); testEntity4.DueDate = testDateTime.Date.AddDays(1).AddMilliseconds(-1); // 本日の 23:59:59.999 testEntity5.TodoTaskId = i++.ToString(); testEntity5.DueDate = testDateTime.Date.AddDays(1); // 明日の 00:00:00.000 } using (var context = new EfDbContext()) { context.Add(testEntity1); context.Add(testEntity2); context.Add(testEntity3); context.Add(testEntity4); context.Add(testEntity5); context.SaveChanges(); } using (var context = new EfDbContext()) Assert.AreEqual(5, context.TodoTasks.Count()); #endregion var parameter = new EditViewSearch.Parameter { SearchConditionsDateTo = testDateTime }; IRequest request = new Request { Parameter = parameter }; EditViewSearch logic = new EditViewSearch(); IResponse response = logic.DoProcess(request); var searchResults = ((EditViewSearch.Result)response.Result).TodoTasks; Assert.AreEqual(4, searchResults.Count); { int i = 0; Assert.AreEqual(testEntity1.TodoTaskId, searchResults[i++].TodoTaskId); Assert.AreEqual(testEntity2.TodoTaskId, searchResults[i++].TodoTaskId); Assert.AreEqual(testEntity3.TodoTaskId, searchResults[i++].TodoTaskId); Assert.AreEqual(testEntity4.TodoTaskId, searchResults[i++].TodoTaskId); } }