Esempio n. 1
0
        public void F2Test()
        {
            var indicator = new EcosystemServicesIndicator {
                EvidenceLevel = Confidence.F2
            };

            var results = new ObservableCollection <ObjectiveResult>();

            foreach (var i in Enumerable.Range(1, 12))
            {
                results.Add(new ObjectiveResult
                {
                    Time         = new DateTime(2018, i, 1),
                    NonCompliant = i % 2 == 0
                });
            }

            foreach (var i in Enumerable.Range(0, 10))
            {
                var su = new F2SpatialUnit
                {
                    Name = $"SU {i}"
                };

                foreach (var r in results)
                {
                    su.Results.Add(r);
                }
                indicator.SpatialUnits.Add(su);
            }

            Assert.IsTrue(indicator.Value == 29);
            Assert.IsTrue(indicator.F1 == 100);
            Assert.IsTrue(indicator.F2 == 50);
        }
Esempio n. 2
0
        public void F3SharpGreaterThanTest()
        {
            var indicator = new EcosystemServicesIndicator {
                EvidenceLevel = Confidence.F3Sharp
            };

            var data = new ObservableCollection <TimeseriesDatum>();

            foreach (var i in Enumerable.Range(1, 12))
            {
                data.Add(new TimeseriesDatum
                {
                    Time  = new DateTime(2018, i, 1),
                    Value = i % 2 == 0 ? 1 : 5
                });
            }

            foreach (var i in Enumerable.Range(0, 10))
            {
                var su = new F3SharpSpatialUnit
                {
                    Name      = $"SU {i}",
                    Objective = new Objective {
                        Function = new ObjectiveFunctionGreaterThan()
                    }
                };

                su.Objective.Metrics.Add(new ObjectiveMetricSingleValue
                {
                    Start = new DateTime(2018, 1, 1),
                    End   = new DateTime(2018, 12, 31),
                    Value = 2
                });

                foreach (var r in data)
                {
                    su.Data.Add(r);
                }
                indicator.SpatialUnits.Add(su);
            }

            var foo = indicator.Value;

            Assert.IsTrue(indicator.Value == 34);
            Assert.IsTrue(indicator.F1 == 100);
            Assert.IsTrue(indicator.F2 == 50);
            Assert.IsTrue(indicator.F3 == 43);
        }
        public SpatialUnitsViewModel(EcosystemServicesIndicator esi, Action <NavigationViewModel> navigate, NavigationViewModel back)
            : base(navigate, back)
        {
            Indicator     = esi;
            EditorCommand = new RelayCommand(Editor);
            RemoveCommand = new RelayCommand(Remove);
            ImportCommand = new RelayCommand(Import);
            ExportCommand = new RelayCommand(Export);

            Indicator.SpatialUnits.CollectionChanged +=
                (sender, args) =>
            {
                RaisePropertyChanged(nameof(CanChangeConfidence));
                Task.Factory.StartNew(() => { Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.DataBind, (Action)(async() => await BasinMapViewModel.Refresh())); });
            };
        }
Esempio n. 4
0
        public void F1Test()
        {
            var indicator = new EcosystemServicesIndicator {
                EvidenceLevel = Confidence.F1
            };

            foreach (var i in Enumerable.Range(0, 10))
            {
                indicator.SpatialUnits.Add(new F1SpatialUnit
                {
                    Name         = $"SU {i}",
                    NonCompliant = i % 2 == 0
                });
            }

            Assert.IsTrue(indicator.Value == 50);
        }