public void GeometryForTimeFilteredCoverage() { var network = RouteHelperTest.GetSnakeHydroNetwork(false, new Point(0, 0), new Point(100, 0), new Point(100, 200)); var dateTime = DateTime.Now; var networkCoverage = new NetworkCoverage("test", true) { Network = network }; // test for defaultvalue // set values for only one t. INetworkLocation nl11 = new NetworkLocation(network.Branches[0], 0.0); INetworkLocation nl12 = new NetworkLocation(network.Branches[0], 100.0); INetworkLocation nl13 = new NetworkLocation(network.Branches[1], 100.0); networkCoverage[dateTime, nl11] = 0.1; networkCoverage[dateTime, nl12] = 0.2; networkCoverage[dateTime, nl13] = 0.3; //action! filter on t1 var filtered = networkCoverage.FilterTime(dateTime); //segments should not be affected Assert.AreEqual(networkCoverage.Geometry.EnvelopeInternal, filtered.Geometry.EnvelopeInternal); }
public void SegmentsForTimeFilteredCoverage() { var network = CreateNetwork(); var dateTime = DateTime.Now; var networkCoverage = new NetworkCoverage("test", true) { Network = network }; // test for defaultvalue // set values for only one t. INetworkLocation nl11 = new NetworkLocation(network.Branches[0], 0.0); INetworkLocation nl12 = new NetworkLocation(network.Branches[0], 100.0); INetworkLocation nl13 = new NetworkLocation(network.Branches[1], 100.0); networkCoverage[dateTime, nl11] = 0.1; networkCoverage[dateTime, nl12] = 0.2; networkCoverage[dateTime, nl13] = 0.3; //action! filter on t1 var filtered = (INetworkCoverage)networkCoverage.FilterTime(dateTime); //segments should not be affected Assert.AreEqual(networkCoverage.Segments.Values.Count, filtered.Segments.Values.Count); }
public void AllTimeValuesForFilteredCoverage() { var network = RouteHelperTest.GetSnakeHydroNetwork(false, new Point(0, 0), new Point(100, 0), new Point(100, 200)); var networkCoverage = new NetworkCoverage("test", true) { Network = network }; // test for defaultvalue //set values for 2 times var times = new[] { 1, 2 }.Select(i => new DateTime(2000, 1, i)).ToList(); foreach (var time in times) { INetworkLocation nl11 = new NetworkLocation(network.Branches[0], 0.0); networkCoverage[time, nl11] = 0.3; } var filteredCoverage = networkCoverage.FilterTime(times[0]); Assert.AreEqual(times, filteredCoverage.Time.AllValues); }
public void AllTimeValuesForFilteredCoverage() { var network = RouteHelperTest.GetSnakeNetwork(false, new Point(0, 0), new Point(100, 0), new Point(100, 200)); var networkCoverage = new NetworkCoverage("test", true) { Network = network }; // test for defaultvalue //set values for 2 times var times = new[] { 1, 2 }.Select(i => new DateTime(2000, 1, i)).ToList(); foreach (var time in times) { INetworkLocation nl11 = new NetworkLocation(network.Branches[0], 0.0); networkCoverage[time, nl11] = 0.3; } var filteredCoverage = networkCoverage.FilterTime(times[0]); Assert.AreEqual(times, filteredCoverage.Time.AllValues); }
public void GeometryForTimeFilteredCoverage() { var network = RouteHelperTest.GetSnakeNetwork(false, new Point(0, 0), new Point(100, 0), new Point(100, 200)); var dateTime = DateTime.Now; var networkCoverage = new NetworkCoverage("test", true) { Network = network }; // test for defaultvalue // set values for only one t. INetworkLocation nl11 = new NetworkLocation(network.Branches[0], 0.0); INetworkLocation nl12 = new NetworkLocation(network.Branches[0], 100.0); INetworkLocation nl13 = new NetworkLocation(network.Branches[1], 100.0); networkCoverage[dateTime, nl11] = 0.1; networkCoverage[dateTime, nl12] = 0.2; networkCoverage[dateTime, nl13] = 0.3; //action! filter on t1 var filtered = networkCoverage.FilterTime(dateTime); //segments should not be affected Assert.AreEqual(networkCoverage.Geometry.EnvelopeInternal, filtered.Geometry.EnvelopeInternal); }
public void EvaluateCoordinateOnTimeFilteredCoverage() { // create network var network = new Network(); var node1 = new Node("node1"); var node2 = new Node("node2"); network.Nodes.Add(node1); network.Nodes.Add(node2); var branch1 = new Branch("branch1", node1, node2, 100.0) { Geometry = GeometryFromWKT.Parse("LINESTRING (0 0, 100 0)") }; network.Branches.Add(branch1); // create network coverage INetworkCoverage networkCoverage = new NetworkCoverage("",true) { Network = network }; var time0 = new DateTime(2000); networkCoverage[time0, new NetworkLocation(network.Branches[0], 0.0)] = 5.0; networkCoverage[time0, new NetworkLocation(network.Branches[0], 100.0)] = 10.0; networkCoverage[new DateTime(2001), new NetworkLocation(network.Branches[0], 0.0)] = 20.0; networkCoverage[new DateTime(2001), new NetworkLocation(network.Branches[0], 100.0)] = 30.0; networkCoverage = (INetworkCoverage) networkCoverage.FilterTime(time0); // evaluate var value = networkCoverage.Evaluate(new Coordinate(1, 0)); value.Should().Be.EqualTo(5.0*1.01); // constant interpolation }