コード例 #1
0
        public ProjectsNavigationView(ProjectsNavigationViewModel viewModel)
        {
            InitializeComponent();

            _viewModel = viewModel;
            Loaded    += ProjectsNavigationView_Loaded;
        }
コード例 #2
0
        protected override Control GetExplorerBarControl()
        {
            if (_projectsNavigationViewControl == null)
            {
                _projectsNavigationViewModel   = new ProjectsNavigationViewModel(_projectModels);
                _projectsNavigationViewControl = new ProjectsNavigationViewControl(_projectsNavigationViewModel);
            }

            return(_projectsNavigationViewControl);
        }
コード例 #3
0
        public void Constructor_AssignFilteredProjectModels_ReturnsEqual()
        {
            // arrange
            var defaultTestProjectData = _testDataUtil.GetDefaultTestProjectData();

            // act
            var model = new ProjectsNavigationViewModel(defaultTestProjectData, null);

            // assert
            Assert.Equal(defaultTestProjectData.Count, model.FilteredProjects.Count);
        }
コード例 #4
0
        protected override IUIControl GetExplorerBarControl()
        {
            if (_projectsNavigationViewControl == null)
            {
                _projectsNavigationViewModel = new ProjectsNavigationViewModel(new List <Project>(), _projectsController);
                _projectsNavigationViewModel.ProjectSelectionChanged += OnProjectSelectionChanged;

                _projectsNavigationViewControl = new ProjectsNavigationViewControl(_projectsNavigationViewModel);
            }

            return(_projectsNavigationViewControl);
        }
コード例 #5
0
        public void Constructor_AssignSelectedProjectModel_ReturnsSame()
        {
            // arrange
            var defaultTestProjectData = _testDataUtil.GetDefaultTestProjectData();

            // act
            var model = new ProjectsNavigationViewModel(defaultTestProjectData, null);

            // assert
            // the first item in the collection is selected by default
            Assert.Same(defaultTestProjectData[0], model.SelectedProject);
        }
コード例 #6
0
        public void FilteredProjectModels_ClearFilterOnProjectName_ReturnsEqual()
        {
            // arrange
            var defaultTestProjectData = _testDataUtil.GetDefaultTestProjectData();

            // act
            var model = new ProjectsNavigationViewModel(defaultTestProjectData, null);

            model.FilterString = defaultTestProjectData[1].Name;
            model.FilterString = string.Empty;

            // assert
            Assert.Equal(defaultTestProjectData.Count, model.FilteredProjects.Count);
        }
コード例 #7
0
        public void FilteredProjectModels_FiltersOnProjectNameWithDifferentCase_ReturnsContains()
        {
            // arrange
            var defaultTestProjectData = _testDataUtil.GetDefaultTestProjectData();

            // act
            var model = new ProjectsNavigationViewModel(defaultTestProjectData, null);

            model.FilterString = defaultTestProjectData[1].Name.ToUpper();

            // assert
            Assert.Contains(defaultTestProjectData[1], model.FilteredProjects);
            Assert.Equal(defaultTestProjectData.Where(
                             a => a.Name.Contains(defaultTestProjectData[1].Name)).ToList().Count, model.FilteredProjects.Count);
        }
コード例 #8
0
        public void FilteredProjectModels_FiltersOnPartialProjectName_ReturnsContains()
        {
            // arrange
            var defaultTestProjectData = _testDataUtil.GetDefaultTestProjectData();

            // act
            var model = new ProjectsNavigationViewModel(defaultTestProjectData);

            model.FilterString = defaultTestProjectData[1].Name.Substring(defaultTestProjectData[1].Name.Length - 2);

            // assert
            Assert.Contains(defaultTestProjectData[1], model.FilteredProjectModels);
            Assert.Equal(defaultTestProjectData.Where(
                             a => a.Name.Contains(defaultTestProjectData[1].Name)).ToList().Count, model.FilteredProjectModels.Count);
        }
コード例 #9
0
 public ProjectsNavigationViewControl(ProjectsNavigationViewModel viewModel)
 {
     InitializeComponent();
     UpdateViewModel(viewModel);
 }
コード例 #10
0
 private void AssignView(ProjectsNavigationViewModel viewModel)
 {
     elementHost1.Child = new ProjectsNavigationView(viewModel);
 }
コード例 #11
0
 internal void UpdateViewModel(ProjectsNavigationViewModel viewModel)
 {
     DisposeViewModel();
     AssignView(viewModel);
 }