Esempio n. 1
0
        public void ObservableCollection_Add()
        {
            var source = new ObservableCollection <int>()
            {
                5
            };
            var filtered = new FilteredCollectionView <int>(source, r => r >= 5);

            Assert.Single(filtered);
            Assert.Equal(new[] { 5 }, filtered);

            source.Add(1);

            Assert.Single(filtered);
            Assert.Equal(new[] { 5 }, filtered);

            source.Add(7);

            Assert.Equal(2, filtered.Count);
            Assert.Equal(new[] { 5, 7 }, filtered);

            source.Insert(0, 9);

            Assert.Equal(3, filtered.Count);
            Assert.Equal(new[] { 9, 5, 7 }, filtered);
        }
Esempio n. 2
0
        internal TestAssemblyViewModel(AssemblyRunInfo runInfo, ITestRunner runner)
        {
            RunInfo = runInfo;
            ;
            this.runner = runner;

            runAllTestsCommand      = new DelegateCommand(RunAllTests, () => !isBusy);
            runFilteredTestsCommand = new DelegateCommand(RunFilteredTests, () => !isBusy);

            DisplayName = Path.GetFileNameWithoutExtension(runInfo.AssemblyFileName);

            allTests = new ObservableCollection <TestCaseViewModel>(runInfo.TestCases);

            filteredTests = new FilteredCollectionView <TestCaseViewModel, Tuple <string, TestState> >(
                allTests,
                IsTestFilterMatch,
                Tuple.Create(SearchQuery, ResultFilter),
                new TestComparer()
                );

            filteredTests.ItemChanged       += (sender, args) => UpdateCaption();
            filteredTests.CollectionChanged += (sender, args) => UpdateCaption();

            Result    = TestState.NotRun;
            RunStatus = RunStatus.NotRun;

            UpdateCaption();
        }
        private async void RunEditApplianceDialog()
        {
            var customDialog = new CustomDialog();

            var dialogViewModel = new CreateApplianceDialogViewModel(SelectedAppliance, false,
                                                                     instanceCancel => _dialogCoordinator.HideMetroDialogAsync(this, customDialog),
                                                                     instanceCompleted =>
            {
                _dialogCoordinator.HideMetroDialogAsync(this, customDialog);
                FilteredCollectionView.Refresh();
                AppliancesInPackagedSolutionView.Refresh();

                // Update appliance changes in database
                using (var ctx = new AssistantContext())
                {
                    ctx.Entry(SelectedAppliance).State           = EntityState.Modified;
                    ctx.Entry(SelectedAppliance.DataSheet).State = EntityState.Modified;

                    ctx.SaveChanges();
                }
            });

            customDialog.Content = new CreateApplianceDialogView {
                DataContext = dialogViewModel
            };

            await _dialogCoordinator.ShowMetroDialogAsync(this, customDialog);
        }
Esempio n. 4
0
        public void SimpleCollection()
        {
            var source   = new[] { 2, 1, 4, 6, 8, 0, 7 };
            var filtered = new FilteredCollectionView <int>(source, r => r > 3);

            Assert.Equal(4, filtered.Count);
            Assert.Equal(new[] { 4, 6, 8, 7 }, filtered);
        }
Esempio n. 5
0
        public void ObservableCollection_Clear()
        {
            var source = new ObservableCollection <int>()
            {
                5, 2, 8, 9
            };
            var filtered = new FilteredCollectionView <int>(source, r => r >= 5);

            Assert.Equal(3, filtered.Count);
            Assert.Equal(new[] { 5, 8, 9 }, filtered);

            source.Clear();

            Assert.Empty(filtered);
        }
Esempio n. 6
0
        public MainViewModel()
        {
            if (IsInDesignMode)
            {
                this.Assemblies.Add(new TestAssemblyViewModel(new AssemblyAndConfigFile(@"C:\Code\TestAssembly.dll", null)));
            }

            CommandBindings     = CreateCommandBindings();
            this.MethodsCaption = "Methods (0)";

            TestCases = new FilteredCollectionView <TestCaseViewModel, SearchQuery>(
                allTestCases, TestCaseMatches, searchQuery, TestComparer.Instance);

            this.TestCases.CollectionChanged += TestCases_CollectionChanged;
            this.WindowLoadedCommand          = new RelayCommand(OnExecuteWindowLoaded);
            this.RunCommand    = new RelayCommand(OnExecuteRun, CanExecuteRun);
            this.CancelCommand = new RelayCommand(OnExecuteCancel, CanExecuteCancel);
        }
Esempio n. 7
0
        public void ObservableCollection_Replace()
        {
            var source = new ObservableCollection <int>()
            {
                5, 2, 8, 9
            };
            var filtered = new FilteredCollectionView <int>(source, r => r >= 5);

            Assert.Equal(3, filtered.Count);
            Assert.Equal(new[] { 5, 8, 9 }, filtered);

            source[1] = 7;

            Assert.Equal(4, filtered.Count);
            Assert.Equal(new[] { 5, 7, 8, 9 }, filtered);

            source[2] = 1;

            Assert.Equal(3, filtered.Count);
            Assert.Equal(new[] { 5, 7, 9 }, filtered);
        }
Esempio n. 8
0
        public void ObservableCollection_Remove()
        {
            var source = new ObservableCollection <int>()
            {
                5, 2, 8, 9
            };
            var filtered = new FilteredCollectionView <int>(source, r => r >= 5);

            Assert.Equal(3, filtered.Count);
            Assert.Equal(new[] { 5, 8, 9 }, filtered);

            source.Remove(8);

            Assert.Equal(2, filtered.Count);
            Assert.Equal(new[] { 5, 9 }, filtered);

            source.Remove(2);

            Assert.Equal(2, filtered.Count);
            Assert.Equal(new[] { 5, 9 }, filtered);
        }