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); }
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())); }); }; }
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); }