public void GetObsReq_121_CreateWithDefault() { // This test exists mainly to make sure that no errors occur the default values var testObject = new GetObservationRequest(); // Serialising and deserialising request object var testObjectIn = new GetObservationRequest(testObject.ToXmlBytes()); // Asserting Assert.AreEqual(0, testObjectIn.FeaturesOfInterest.Count); Assert.AreEqual(0, testObjectIn.Items.Count); Assert.AreEqual(0, testObjectIn.ObservedProperties.Count); Assert.AreEqual(0, testObjectIn.TemporalFilters.Count); }
public void GetObsReq_122_Create() { // Creating request object var testObject = new GetObservationRequest(); testObject.FeaturesOfInterest.Add("myfeature"); testObject.ObservedProperties.Add("myproperty"); // Adding a data record var extensionObj = new Item_DataRecord { { "MyMeasurement", new Item_Measurement("s", 0.453) } }; testObject.Items.Add(extensionObj); // Adding temporal filters var baseTime = DateTime.Now.ToUniversalTime(); var tempFilter1 = new TemporalFilter( TemporalFilter.ValueReferenceType.ResultTime, TemporalFilter.OperatorType.During, new Item_TimeRange(baseTime, baseTime.AddHours(2)) ); testObject.TemporalFilters.Add(tempFilter1); var tempFilter2 = new TemporalFilter( TemporalFilter.ValueReferenceType.PhenomenonTime, TemporalFilter.OperatorType.Before, new Item_TimeInstant(baseTime) ); testObject.TemporalFilters.Add(tempFilter2); // Serialising, validating and deserialising request object var xmlBytes = testObject.ToXmlBytes(); Validate(xmlBytes); var testObjectIn = new GetObservationRequest(xmlBytes); // Asserting Assert.AreEqual(1, testObjectIn.FeaturesOfInterest.Count); Assert.AreEqual(1, testObjectIn.ObservedProperties.Count); Assert.IsTrue(testObjectIn.FeaturesOfInterest.Contains("myfeature")); Assert.IsTrue(testObjectIn.ObservedProperties.Contains("myproperty")); // Asserting extension (a data record) Assert.AreEqual(1, testObjectIn.Items.Count); var extension = testObjectIn.Items[0]; var measurementItem = (Item_Measurement)extension["MyMeasurement"]; Assert.AreEqual(0.453, measurementItem.Value, 0.0001); Assert.AreEqual(2, testObject.TemporalFilters.Count); // Asserting temporal filter 1 (the assertion has a low coverage because filters are tested elsewhere) var filter1 = testObjectIn.TemporalFilters[0]; Assert.AreEqual(TemporalFilter.ValueReferenceType.ResultTime, filter1.ValueReference); Assert.AreEqual(TemporalFilter.OperatorType.During, filter1.Operator); // Asserting temporal filter 2 var filter2 = testObjectIn.TemporalFilters[1]; Assert.AreEqual(TemporalFilter.ValueReferenceType.PhenomenonTime, filter2.ValueReference); Assert.AreEqual(TemporalFilter.OperatorType.Before, filter2.Operator); }