public void Get_By_All_Conditions() { #region initialization task User user_1 = new User(); User user_2 = new User(); //qualified Task task_1 = new Task { OverDue = 8, AssignTime = new DateTime(2014, 8, 15), OwnTime = new DateTime(2014, 8, 15), ExpectCompleteTime = new DateTime(2014, 8, 14), ActualCompleteTime = new DateTime(2014, 5, 3), LatestUpdateTime = new DateTime(2014, 6, 11), Difficulty = TaskDifficulty.Hardest, Owner = user_1, Accepter = user_1, Publisher = user_1, CurrentStatus = Status.Pause, Quality = TaskQuality.Good, Project = project_1, Priority = TaskPriority.Highest }; task_1.MockActualWorkPeriod(12); task_1.MockCreateTime(new DateTime(2014, 3, 16)); Task task_Greater_OverDue = new Task { OverDue = 0, AssignTime = new DateTime(2014, 8, 15), OwnTime = new DateTime(2014, 8, 15), ExpectCompleteTime = new DateTime(2014, 8, 14), ActualCompleteTime = new DateTime(2014, 5, 3), LatestUpdateTime = new DateTime(2014, 6, 11), Difficulty = TaskDifficulty.Hardest, Owner = user_1, Accepter = user_1, Publisher = user_1, CurrentStatus = Status.Pause, Quality = TaskQuality.Good, Project = project_1, Priority = TaskPriority.Highest }; task_Greater_OverDue.MockActualWorkPeriod(12); task_Greater_OverDue.MockCreateTime(new DateTime(2014, 3, 16)); Task task_Less_OverDue = new Task { OverDue = 20, AssignTime = new DateTime(2014, 8, 15), OwnTime = new DateTime(2014, 8, 15), ExpectCompleteTime = new DateTime(2014, 8, 14), ActualCompleteTime = new DateTime(2014, 5, 3), LatestUpdateTime = new DateTime(2014, 6, 11), Difficulty = TaskDifficulty.Hardest, Owner = user_1, Accepter = user_1, Publisher = user_1, CurrentStatus = Status.Pause, Quality = TaskQuality.Good, Project = project_1, Priority = TaskPriority.Highest }; task_Less_OverDue.MockActualWorkPeriod(12); task_Less_OverDue.MockCreateTime(new DateTime(2014, 3, 16)); Task task_Greater_WorkPeriod = new Task { OverDue = 8, AssignTime = new DateTime(2014, 8, 15), OwnTime = new DateTime(2014, 8, 15), ExpectCompleteTime = new DateTime(2014, 8, 14), ActualCompleteTime = new DateTime(2014, 5, 3), LatestUpdateTime = new DateTime(2014, 6, 11), Difficulty = TaskDifficulty.Hardest, Owner = user_1, Accepter = user_1, Publisher = user_1, CurrentStatus = Status.Pause, Quality = TaskQuality.Good, Project = project_1, Priority = TaskPriority.Highest }; task_Greater_WorkPeriod.MockActualWorkPeriod(1); task_Greater_WorkPeriod.MockCreateTime(new DateTime(2014, 3, 16)); Task task_Less_WorkPeriod = new Task { OverDue = 8, AssignTime = new DateTime(2014, 8, 15), OwnTime = new DateTime(2014, 8, 15), ExpectCompleteTime = new DateTime(2014, 8, 14), ActualCompleteTime = new DateTime(2014, 5, 3), LatestUpdateTime = new DateTime(2014, 6, 11), Difficulty = TaskDifficulty.Hardest, Owner = user_1, Accepter = user_1, Publisher = user_1, CurrentStatus = Status.Pause, Quality = TaskQuality.Good, Project = project_1, Priority = TaskPriority.Highest }; task_Less_WorkPeriod.MockActualWorkPeriod(20); task_Less_WorkPeriod.MockCreateTime(new DateTime(2014, 3, 16)); Task task_Greater_Publish = new Task { OverDue = 8, AssignTime = new DateTime(2014, 8, 15), OwnTime = new DateTime(2014, 8, 15), ExpectCompleteTime = new DateTime(2014, 8, 14), ActualCompleteTime = new DateTime(2014, 5, 3), LatestUpdateTime = new DateTime(2014, 6, 11), Difficulty = TaskDifficulty.Hardest, Owner = user_1, Accepter = user_1, Publisher = user_1, CurrentStatus = Status.Pause, Quality = TaskQuality.Good, Project = project_1, Priority = TaskPriority.Highest }; task_Greater_Publish.MockCreateTime(new DateTime(2014, 2, 15)); task_Greater_Publish.MockActualWorkPeriod(12); Task task_Less_Publish = new Task { OverDue = 8, AssignTime = new DateTime(2014, 8, 15), OwnTime = new DateTime(2014, 8, 15), ExpectCompleteTime = new DateTime(2014, 8, 14), ActualCompleteTime = new DateTime(2014, 5, 3), LatestUpdateTime = new DateTime(2014, 6, 11), Difficulty = TaskDifficulty.Hardest, Owner = user_1, Accepter = user_1, Publisher = user_1, CurrentStatus = Status.Pause, Quality = TaskQuality.Good, Project = project_1, Priority = TaskPriority.Highest }; task_Less_Publish.MockCreateTime(new DateTime(2014, 5, 15)); task_Less_Publish.MockCreateTime(new DateTime(2014, 3, 16)); Task task_Greater_AssignTime = new Task { AssignTime = new DateTime(2014, 6, 16), OverDue = 8, OwnTime = new DateTime(2014, 8, 15), ExpectCompleteTime = new DateTime(2014, 8, 14), ActualCompleteTime = new DateTime(2014, 5, 3), LatestUpdateTime = new DateTime(2014, 6, 11), Difficulty = TaskDifficulty.Hardest, Owner = user_1, Accepter = user_1, Publisher = user_1, CurrentStatus = Status.Pause, Quality = TaskQuality.Good, Project = project_1, Priority = TaskPriority.Highest }; task_Greater_AssignTime.MockActualWorkPeriod(12); task_Greater_AssignTime.MockCreateTime(new DateTime(2014, 3, 16)); Task task_Less_AssignTime = new Task { AssignTime = new DateTime(2014, 10, 16), OverDue = 8, OwnTime = new DateTime(2014, 8, 15), ExpectCompleteTime = new DateTime(2014, 8, 14), ActualCompleteTime = new DateTime(2014, 5, 3), LatestUpdateTime = new DateTime(2014, 6, 11), Difficulty = TaskDifficulty.Hardest, Owner = user_1, Accepter = user_1, Publisher = user_1, CurrentStatus = Status.Pause, Quality = TaskQuality.Good, Project = project_1, Priority = TaskPriority.Highest }; task_Less_AssignTime.MockActualWorkPeriod(12); task_Less_AssignTime.MockCreateTime(new DateTime(2014, 3, 16)); Task task_From_OwnTime = new Task { OwnTime = new DateTime(2014, 6, 15), OverDue = 8, AssignTime = new DateTime(2014, 8, 15), ExpectCompleteTime = new DateTime(2014, 8, 14), ActualCompleteTime = new DateTime(2014, 5, 3), LatestUpdateTime = new DateTime(2014, 6, 11), Difficulty = TaskDifficulty.Hardest, Owner = user_1, Accepter = user_1, Publisher = user_1, CurrentStatus = Status.Pause, Quality = TaskQuality.Good, Project = project_1, Priority = TaskPriority.Highest }; task_From_OwnTime.MockActualWorkPeriod(12); task_From_OwnTime.MockCreateTime(new DateTime(2014, 3, 16)); Task task_To_OwnTime = new Task { OwnTime = new DateTime(2014, 11, 16), OverDue = 8, AssignTime = new DateTime(2014, 8, 15), ExpectCompleteTime = new DateTime(2014, 8, 14), ActualCompleteTime = new DateTime(2014, 5, 3), LatestUpdateTime = new DateTime(2014, 6, 11), Difficulty = TaskDifficulty.Hardest, Owner = user_1, Accepter = user_1, Publisher = user_1, CurrentStatus = Status.Pause, Quality = TaskQuality.Good, Project = project_1, Priority = TaskPriority.Highest }; task_To_OwnTime.MockActualWorkPeriod(12); task_To_OwnTime.MockCreateTime(new DateTime(2014, 3, 16)); Task task_From_ExpectCompleteTime = new Task { ExpectCompleteTime = new DateTime(2014, 6, 14), OverDue = 8, AssignTime = new DateTime(2014, 8, 15), OwnTime = new DateTime(2014, 8, 15), ActualCompleteTime = new DateTime(2014, 5, 3), LatestUpdateTime = new DateTime(2014, 6, 11), Difficulty = TaskDifficulty.Hardest, Owner = user_1, Accepter = user_1, Publisher = user_1, CurrentStatus = Status.Pause, Quality = TaskQuality.Good, Project = project_1, Priority = TaskPriority.Highest }; task_From_ExpectCompleteTime.MockActualWorkPeriod(12); task_From_ExpectCompleteTime.MockCreateTime(new DateTime(2014, 3, 16)); Task task_To_ExpectCompleteTime = new Task { ExpectCompleteTime = new DateTime(2014, 10, 6), OverDue = 8, AssignTime = new DateTime(2014, 8, 15), OwnTime = new DateTime(2014, 8, 15), ActualCompleteTime = new DateTime(2014, 5, 3), LatestUpdateTime = new DateTime(2014, 6, 11), Difficulty = TaskDifficulty.Hardest, Owner = user_1, Accepter = user_1, Publisher = user_1, CurrentStatus = Status.Pause, Quality = TaskQuality.Good, Project = project_1, Priority = TaskPriority.Highest }; task_To_ExpectCompleteTime.MockActualWorkPeriod(12); task_To_ExpectCompleteTime.MockCreateTime(new DateTime(2014, 3, 16)); Task task_From_ActualComplete = new Task { ActualCompleteTime = new DateTime(2014, 4, 20), OverDue = 8, AssignTime = new DateTime(2014, 8, 15), OwnTime = new DateTime(2014, 8, 15), ExpectCompleteTime = new DateTime(2014, 8, 14), LatestUpdateTime = new DateTime(2014, 6, 11), Difficulty = TaskDifficulty.Hardest, Owner = user_1, Accepter = user_1, Publisher = user_1, CurrentStatus = Status.Pause, Quality = TaskQuality.Good, Project = project_1, Priority = TaskPriority.Highest }; task_From_ActualComplete.MockActualWorkPeriod(12); task_From_ActualComplete.MockCreateTime(new DateTime(2014, 3, 16)); Task task_To_ActualComplete = new Task { ActualCompleteTime = new DateTime(2014, 6, 6), OverDue = 8, AssignTime = new DateTime(2014, 8, 15), OwnTime = new DateTime(2014, 8, 15), ExpectCompleteTime = new DateTime(2014, 8, 14), LatestUpdateTime = new DateTime(2014, 6, 11), Difficulty = TaskDifficulty.Hardest, Owner = user_1, Accepter = user_1, Publisher = user_1, CurrentStatus = Status.Pause, Quality = TaskQuality.Good, Project = project_1, Priority = TaskPriority.Highest }; task_To_ActualComplete.MockActualWorkPeriod(12); task_To_ActualComplete.MockCreateTime(new DateTime(2014, 3, 16)); Task task_From_LastestUpdateTime = new Task { LatestUpdateTime = new DateTime(2014, 5, 20), OverDue = 8, AssignTime = new DateTime(2014, 8, 15), OwnTime = new DateTime(2014, 8, 15), ExpectCompleteTime = new DateTime(2014, 8, 14), ActualCompleteTime = new DateTime(2014, 5, 3), Difficulty = TaskDifficulty.Hardest, Owner = user_1, Accepter = user_1, Publisher = user_1, CurrentStatus = Status.Pause, Quality = TaskQuality.Good, Project = project_1, Priority = TaskPriority.Highest }; task_From_LastestUpdateTime.MockActualWorkPeriod(12); task_From_LastestUpdateTime.MockCreateTime(new DateTime(2014, 3, 16)); Task task_To_LastestUpdateTime = new Task { LatestUpdateTime = new DateTime(2014, 7, 26), OverDue = 8, AssignTime = new DateTime(2014, 8, 15), OwnTime = new DateTime(2014, 8, 15), ExpectCompleteTime = new DateTime(2014, 8, 14), ActualCompleteTime = new DateTime(2014, 5, 3), Difficulty = TaskDifficulty.Hardest, Owner = user_1, Accepter = user_1, Publisher = user_1, CurrentStatus = Status.Pause, Quality = TaskQuality.Good, Project = project_1, Priority = TaskPriority.Highest }; task_To_LastestUpdateTime.MockActualWorkPeriod(12); task_To_LastestUpdateTime.MockCreateTime(new DateTime(2014, 3, 16)); Task task_not_SelectedPriorityLevel = new Task { Priority = TaskPriority.High, Difficulty = TaskDifficulty.Easiest, OverDue = 8, AssignTime = new DateTime(2014, 8, 15), OwnTime = new DateTime(2014, 8, 15), ExpectCompleteTime = new DateTime(2014, 8, 14), ActualCompleteTime = new DateTime(2014, 5, 3), LatestUpdateTime = new DateTime(2014, 6, 11), Owner = user_1, Accepter = user_1, Publisher = user_1, CurrentStatus = Status.Pause, Quality = TaskQuality.Good, Project = project_1 }; task_not_SelectedPriorityLevel.MockActualWorkPeriod(12); task_not_SelectedPriorityLevel.MockCreateTime(new DateTime(2014, 3, 16)); Task task_not_SelectedDifficulty = new Task { Difficulty = TaskDifficulty.Easiest, OverDue = 8, AssignTime = new DateTime(2014, 8, 15), OwnTime = new DateTime(2014, 8, 15), ExpectCompleteTime = new DateTime(2014, 8, 14), ActualCompleteTime = new DateTime(2014, 5, 3), LatestUpdateTime = new DateTime(2014, 6, 11), Owner = user_1, Accepter = user_1, Publisher = user_1, CurrentStatus = Status.Pause, Quality = TaskQuality.Good, Project = project_1, Priority = TaskPriority.Highest }; task_not_SelectedDifficulty.MockActualWorkPeriod(12); task_not_SelectedDifficulty.MockCreateTime(new DateTime(2014, 3, 16)); Task task_not_SelectedOwnerId = new Task { Owner = user_2, OverDue = 8, AssignTime = new DateTime(2014, 8, 15), OwnTime = new DateTime(2014, 8, 15), ExpectCompleteTime = new DateTime(2014, 8, 14), ActualCompleteTime = new DateTime(2014, 5, 3), LatestUpdateTime = new DateTime(2014, 6, 11), Difficulty = TaskDifficulty.Hardest, Accepter = user_1, Publisher = user_1, CurrentStatus = Status.Pause, Quality = TaskQuality.Good, Project = project_1, Priority = TaskPriority.Highest }; task_not_SelectedOwnerId.MockActualWorkPeriod(12); task_not_SelectedOwnerId.MockCreateTime(new DateTime(2014, 3, 16)); Task task_not_SelectedAccepterId = new Task { OverDue = 8, AssignTime = new DateTime(2014, 8, 15), OwnTime = new DateTime(2014, 8, 15), ExpectCompleteTime = new DateTime(2014, 8, 14), ActualCompleteTime = new DateTime(2014, 5, 3), LatestUpdateTime = new DateTime(2014, 6, 11), Difficulty = TaskDifficulty.Hardest, Owner = user_1, Accepter = user_2, Publisher = user_1, CurrentStatus = Status.Pause, Quality = TaskQuality.Good, Project = project_1, Priority = TaskPriority.Highest }; task_not_SelectedAccepterId.MockActualWorkPeriod(12); task_not_SelectedAccepterId.MockCreateTime(new DateTime(2014, 3, 16)); Task task_not_SelectedPublisherId = new Task { OverDue = 8, AssignTime = new DateTime(2014, 8, 15), OwnTime = new DateTime(2014, 8, 15), ExpectCompleteTime = new DateTime(2014, 8, 14), ActualCompleteTime = new DateTime(2014, 5, 3), LatestUpdateTime = new DateTime(2014, 6, 11), Difficulty = TaskDifficulty.Hardest, Owner = user_1, Accepter = user_1, Publisher = user_2, CurrentStatus = Status.Pause, Quality = TaskQuality.Good, Project = project_1, Priority = TaskPriority.Highest }; task_not_SelectedPublisherId.MockActualWorkPeriod(12); task_not_SelectedPublisherId.MockCreateTime(new DateTime(2014, 3, 16)); Task task_not_SelectedStage = new Task { CurrentStatus = Status.Publish, OverDue = 8, AssignTime = new DateTime(2014, 8, 15), OwnTime = new DateTime(2014, 8, 15), ExpectCompleteTime = new DateTime(2014, 8, 14), ActualCompleteTime = new DateTime(2014, 5, 3), LatestUpdateTime = new DateTime(2014, 6, 11), Difficulty = TaskDifficulty.Hardest, Owner = user_1, Accepter = user_1, Publisher = user_1, Quality = TaskQuality.Good, Project = project_1, Priority = TaskPriority.Highest }; task_not_SelectedStage.MockActualWorkPeriod(12); task_not_SelectedStage.MockCreateTime(new DateTime(2014, 3, 16)); Task task_not_SelectedQuality = new Task { Quality = TaskQuality.Perfect, OverDue = 8, AssignTime = new DateTime(2014, 8, 15), OwnTime = new DateTime(2014, 8, 15), ExpectCompleteTime = new DateTime(2014, 8, 14), ActualCompleteTime = new DateTime(2014, 5, 3), LatestUpdateTime = new DateTime(2014, 6, 11), Difficulty = TaskDifficulty.Hardest, Owner = user_1, Accepter = user_1, Publisher = user_1, CurrentStatus = Status.Pause, Project = project_1, Priority = TaskPriority.Highest }; task_not_SelectedQuality.MockActualWorkPeriod(12); task_not_SelectedQuality.MockCreateTime(new DateTime(2014, 3, 16)); Task task_not_SelectedNodeType = new Task { OverDue = 8, AssignTime = new DateTime(2014, 8, 15), OwnTime = new DateTime(2014, 8, 15), ExpectCompleteTime = new DateTime(2014, 8, 14), ActualCompleteTime = new DateTime(2014, 5, 3), LatestUpdateTime = new DateTime(2014, 6, 11), Difficulty = TaskDifficulty.Hardest, Owner = user_1, Accepter = user_1, Publisher = user_1, CurrentStatus = Status.Pause, Quality = TaskQuality.Good, Project = project_1, Priority = TaskPriority.Highest }; task_not_SelectedNodeType.Parent = new Task(); task_not_SelectedNodeType.Children = null; task_not_SelectedNodeType.MockActualWorkPeriod(12); task_not_SelectedNodeType.MockCreateTime(new DateTime(2014, 3, 16)); #endregion #region initialization session.Query<Task>() Save( task_1, task_Greater_OverDue, task_Less_OverDue, task_Greater_WorkPeriod, task_Less_WorkPeriod, task_Greater_Publish, task_Less_Publish, task_Greater_AssignTime, task_Less_AssignTime, task_From_OwnTime, task_To_OwnTime, task_From_ExpectCompleteTime, task_To_ExpectCompleteTime, task_From_ActualComplete, task_To_ActualComplete, task_From_LastestUpdateTime, task_To_LastestUpdateTime, task_not_SelectedPriorityLevel, task_not_SelectedDifficulty, task_not_SelectedOwnerId, task_not_SelectedAccepterId, task_not_SelectedPublisherId, task_not_SelectedStage, task_not_SelectedQuality, task_not_SelectedNodeType); #endregion set_Current_Project(); #region initialization model model.GreaterOverDue = 3; model.LessOverDue = 10; model.GreaterWorkPeriod = 5; model.LessWorkPeriod = 17; model.TimeSpan.FromPublish = new DateTime(2014, 3, 15); model.TimeSpan.ToPublish = new DateTime(2014, 3, 18); model.TimeSpan.FromAssign = new DateTime(2014, 7, 15); model.TimeSpan.ToAssign = new DateTime(2014, 10, 15); model.TimeSpan.FromOwn = new DateTime(2014, 8, 1); model.TimeSpan.ToOwn = new DateTime(2014, 9, 1); model.TimeSpan.FromExpectComplete = new DateTime(2014, 8, 12); model.TimeSpan.ToExpectComplete = new DateTime(2014, 9, 11); model.TimeSpan.FromActualComplete = new DateTime(2014, 5, 1); model.TimeSpan.ToActualComplete = new DateTime(2014, 5, 9); model.TimeSpan.FromLastestUpdateTime = new DateTime(2014, 6, 9); model.TimeSpan.ToLastestUpdateTime = new DateTime(2014, 7, 15); model.SelectedPriority = TaskPriority.Highest; model.SelectedDifficulty = TaskDifficulty.Hardest; model.SelectedOwnerId = user_1.Id; model.SelectedAccepterId = user_1.Id; model.SelectedPublisherId = user_1.Id; model.SelectedStage = (int)Status.Pause; model.SelectedQuality = TaskQuality.Good; model.SelectedNodeType = NodeType.Root; #endregion tasks = session.Query<Task>().Get(model).ToList(); Assert.That(tasks.Count, Is.EqualTo(1)); Contains(tasks, task_1); }