コード例 #1
0
        public void ObservableListExtensions_First_ThrowsExceptionIfObservableListIsEmpty()
        {
            var list = new ObservableList <Int32>();

            Assert.That(() => list.First(),
                        Throws.TypeOf <InvalidOperationException>());
        }
コード例 #2
0
        public void ObservableListExtensions_First_ReturnsFirstItemInObservableList()
        {
            var list = new ObservableList <Int32>()
            {
                1, 2, 3
            };

            var result = list.First();

            TheResultingValue(result).ShouldBe(1);
        }
コード例 #3
0
        public void GivenMapLayerWithHydraulicBoundaryLocationsData_WhenTargetProbabilityUpdatedAndNotified_ThenMapDataUpdated(
            Func <IAssessmentSection, ObservableList <HydraulicBoundaryLocationCalculationsForTargetProbability> > getTargetProbabilitiesFunc)
        {
            // Given
            var mocks    = new MockRepository();
            var observer = mocks.StrictMock <IObserver>();

            observer.Expect(o => o.UpdateObserver());
            mocks.ReplayAll();

            var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, "test1", 1.0, 2.0);
            var assessmentSection         = new AssessmentSectionStub();

            assessmentSection.SetHydraulicBoundaryLocationCalculations(new[]
            {
                hydraulicBoundaryLocation
            });

            using (var mapLayer = new HydraulicBoundaryLocationsMapLayer(assessmentSection))
            {
                mapLayer.MapData.Attach(observer);

                // Precondition
                MapDataTestHelper.AssertHydraulicBoundaryLocationsMapData(assessmentSection, mapLayer.MapData);

                // When
                ObservableList <HydraulicBoundaryLocationCalculationsForTargetProbability> targetProbabilities = getTargetProbabilitiesFunc(assessmentSection);
                targetProbabilities.First().TargetProbability = 0.01;
                targetProbabilities.First().NotifyObservers();

                // Then
                MapDataTestHelper.AssertHydraulicBoundaryLocationsMapData(assessmentSection, mapLayer.MapData);
            }

            mocks.VerifyAll();
        }
コード例 #4
0
ファイル: DocumentViewer.cs プロジェクト: dqtoy/GGJ2020
        private void LoadData()
        {
            itemList        = new ObservableList <Item>();
            itemInformation = new ItemInformation();

            int index = 0;

            foreach (var item in documentData.list)
            {
                // create model
                var model = new Item(item);
                model.Index = index++;

                // set command
                model.SelectCommand = new DelegateCommand(() => SelectItem(model));

                // add to list
                itemList.Add(model);
            }

            // select first one
            SelectItem(itemList.First(), false);
        }
コード例 #5
0
        private async void UpdateConfigurationControls()
        {
            variableNames.Clear();
            trackbars.Clear();

            tableLayoutPanel.SuspendRepaint();
            tableLayoutPanel.SuspendLayout();

            tableLayoutPanel.RowCount = 0;
            tableLayoutPanel.Controls.Clear();

            if (Content == null)
            {
                tableLayoutPanel.ResumeLayout(false);
                tableLayoutPanel.ResumeRepaint(false);
                return;
            }

            variableNames.AddRange(Content.ProblemData.AllowedInputVariables);

            var newTrackbars = CreateConfiguration();

            sharedFixedVariables = new ModifiableDataset(variableNames, newTrackbars.Select(tb => new List <double>(1)
            {
                (double)tb.Value
            }));
            _partialDependencePlot.Configure(new[] { Content }, sharedFixedVariables, variableNames.First(), DrawingSteps);
            await _partialDependencePlot.RecalculateAsync();

            // Add to table and observable lists
            tableLayoutPanel.RowCount = variableNames.Count;
            while (tableLayoutPanel.RowStyles.Count < variableNames.Count)
            {
                tableLayoutPanel.RowStyles.Add(new RowStyle(SizeType.AutoSize));
            }
            for (int i = 0; i < newTrackbars.Count; i++)
            {
                // events registered automatically
                trackbars.Add(newTrackbars[i]);
                tableLayoutPanel.Controls.Add(newTrackbars[i], 0, i);
            }

            tableLayoutPanel.ResumeLayout(true);
            tableLayoutPanel.ResumeRepaint(true);

            // Init Y-axis range
            var    problemData = Content.ProblemData;
            double min = double.MaxValue, max = double.MinValue;
            var    trainingTarget = problemData.Dataset.GetDoubleValues(problemData.TargetVariable, problemData.TrainingIndices);

            foreach (var t in trainingTarget)
            {
                if (t < min)
                {
                    min = t;
                }
                if (t > max)
                {
                    max = t;
                }
            }
            double       range = max - min;
            const double scale = 1.0 / 3.0;
            double       axisMin, axisMax, axisInterval;

            ChartUtil.CalculateAxisInterval(min - scale * range, max + scale * range, 5, out axisMin, out axisMax, out axisInterval);
            _partialDependencePlot.FixedYAxisMin = axisMin;
            _partialDependencePlot.FixedYAxisMax = axisMax;

            trackbars.First().Checked = true;
        }
コード例 #6
0
        public void ObservableListExtensions_First_ThrowsExceptionIfObservableListIsEmpty()
        {
            var list = new ObservableList<Int32>();

            Assert.That(() => list.First(),
                Throws.TypeOf<InvalidOperationException>());
        }
コード例 #7
0
        public void ObservableListExtensions_First_ReturnsFirstItemInObservableList()
        {
            var list = new ObservableList<Int32>() { 1, 2, 3 };

            var result = list.First();

            TheResultingValue(result).ShouldBe(1);
        }
コード例 #8
0
        public void GivenMapLayerWithHydraulicBoundaryLocationsData_WhenNotSelectedTargetProbabilityRemovedAndNotified_ThenMapDataUpdated(
            Func <IAssessmentSection, ObservableList <HydraulicBoundaryLocationCalculationsForTargetProbability> > getTargetProbabilitiesFunc, string displayName)
        {
            // Given
            var mocks    = new MockRepository();
            var observer = mocks.StrictMock <IObserver>();

            observer.Expect(o => o.UpdateObserver());
            mocks.ReplayAll();

            var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, "test1", 1.0, 2.0);
            var assessmentSection         = new AssessmentSectionStub();

            assessmentSection.SetHydraulicBoundaryLocationCalculations(new[]
            {
                hydraulicBoundaryLocation
            });

            using (var mapLayer = new HydraulicBoundaryLocationsMapLayer(assessmentSection))
            {
                ObservableList <HydraulicBoundaryLocationCalculationsForTargetProbability> targetProbabilities     = getTargetProbabilitiesFunc(assessmentSection);
                HydraulicBoundaryLocationCalculationsForTargetProbability calculationsForTargetProbabilityToRemove = targetProbabilities.First();
                HydraulicBoundaryLocationCalculationsForTargetProbability calculationsForTargetProbability         = targetProbabilities.Last();
                mapLayer.MapData.SelectedMetaDataAttribute = string.Format(displayName, ProbabilityFormattingHelper.Format(calculationsForTargetProbability.TargetProbability));
                mapLayer.MapData.NotifyObservers();

                mapLayer.MapData.Attach(observer);

                // Precondition
                MapDataTestHelper.AssertHydraulicBoundaryLocationsMapData(assessmentSection, mapLayer.MapData);

                // When
                targetProbabilities.Remove(calculationsForTargetProbabilityToRemove);
                targetProbabilities.NotifyObservers();

                // Then
                MapDataTestHelper.AssertHydraulicBoundaryLocationsMapData(assessmentSection, mapLayer.MapData);
                Assert.AreEqual(string.Format(displayName, ProbabilityFormattingHelper.Format(calculationsForTargetProbability.TargetProbability)),
                                mapLayer.MapData.SelectedMetaDataAttribute);
            }

            mocks.VerifyAll();
        }
コード例 #9
0
        public void GivenMapLayerWithHydraulicBoundaryLocationsData_WhenCalculationsForRemovedUserDefinedTargetProbabilitiesUpdatedAndNotified_ThenMapDataNotUpdated(
            Func <IAssessmentSection, ObservableList <HydraulicBoundaryLocationCalculationsForTargetProbability> > getTargetProbabilitiesFunc)
        {
            // Given
            var mocks    = new MockRepository();
            var observer = mocks.StrictMock <IObserver>();

            mocks.ReplayAll();

            var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, "test1", 1.0, 2.0);
            var assessmentSection         = new AssessmentSectionStub();

            assessmentSection.SetHydraulicBoundaryLocationCalculations(new[]
            {
                hydraulicBoundaryLocation
            });

            using (var mapLayer = new HydraulicBoundaryLocationsMapLayer(assessmentSection))
            {
                ObservableList <HydraulicBoundaryLocationCalculationsForTargetProbability> targetProbabilities = getTargetProbabilitiesFunc(assessmentSection);
                HydraulicBoundaryLocationCalculationsForTargetProbability targetProbability = targetProbabilities.First();
                targetProbabilities.Remove(targetProbability);
                targetProbabilities.NotifyObservers();

                mapLayer.MapData.Attach(observer);

                // Precondition
                MapDataTestHelper.AssertHydraulicBoundaryLocationsMapData(assessmentSection, mapLayer.MapData);

                // When
                HydraulicBoundaryLocationCalculation calculation = targetProbability.HydraulicBoundaryLocationCalculations.First();
                calculation.Output = new TestHydraulicBoundaryLocationCalculationOutput(new Random(21).NextDouble());
                calculation.NotifyObservers();

                // Then
                MapDataTestHelper.AssertHydraulicBoundaryLocationsMapData(assessmentSection, mapLayer.MapData);
            }

            mocks.VerifyAll();
        }
コード例 #10
0
        public void ObservableListExtensions_First_ThrowsExceptionIfObservableListIsEmpty()
        {
            var list = new ObservableList<Int32>();

            list.First();
        }
コード例 #11
0
        private void SetCalculationOutputAndNotifyObservers(LocationCalculationsView <T> view)
        {
            ObservableList <HydraulicBoundaryLocationCalculation> calculations = GetCalculationsInView(view);

            HydraulicBoundaryLocationCalculation hydraulicBoundaryLocationCalculation = calculations.First();

            hydraulicBoundaryLocationCalculation.Output = new TestHydraulicBoundaryLocationCalculationOutput(new TestGeneralResultSubMechanismIllustrationPoint());
            hydraulicBoundaryLocationCalculation.NotifyObservers();
        }
コード例 #12
0
 public void Reset()
 {
     _currentNode = _segments.Count > 0 ? _segments.First().Origin : _currentNode;
     _segments.Clear();
 }