예제 #1
0
        public void TaskStatusReport_Create()
        {
            // Create an object and serialise it
            var taskingParams = new Item_DataRecord
            {
                { "myparam", new Item_Category("myctg") }
            };

            var testObject = new TaskStatusReport("sometask", "someproc")
            {
                EstimatedTimeOfCompletion = ParseDateTimeInUtc("2019-03-21T08:22:19Z"),
                PercentCompletion         = 3.2,
                RequestStatus             = TaskingRequestStatusCodeType.Rejected,
                StatusMessages            = new System.Collections.Generic.List <string>()
                {
                    "msg1", " msg2   "
                },
                TaskStatusCode    = TaskStatusCodeType.Completed,
                UpdateTime        = ParseDateTimeInUtc("2019-03-21T08:11:19Z"),
                TaskingParameters = taskingParams
            };

            var xmlBytes = testObject.ToXmlBytes();

            // Validation
            Validate(xmlBytes);

            // Parse
            var statusReport = new TaskStatusReport(xmlBytes);

            // Using a separate assert function to make sure the correct object is asserted
            TaskStatusReport_Create_Assert(statusReport);
        }
예제 #2
0
        public void TaskingPmProc_201_CreateEmpty()
        {
            var dataRecord = new Item_DataRecord();
            var testObject = new TaskingParameterProcessor(dataRecord);

            // Serialise, validate and deserialise
            byte[] xmlBytes = Serialise(testObject.ToXmlProxy("test-"));
            Validate(xmlBytes);
            var statusReportProxy = GetParamsFromXml(xmlBytes);
            var testObjectIn      = new TaskingParameterProcessor(statusReportProxy);

            Assert.AreEqual(0, testObjectIn.Parameters.ItemNames.Count);
        }
예제 #3
0
        public void TaskingPmProc_201_Create()
        {
            var dataRecord = new Item_DataRecord
            {
                { "mycategory", new Item_Category("testctg") },
                { "mycount", new Item_Count(7) }
            };
            var testObject = new TaskingParameterProcessor(dataRecord);

            // Serialise, validate and deserialise
            byte[] xmlBytes = Serialise(testObject.ToXmlProxy("test-"));
            Validate(xmlBytes);
            var statusReportProxy = GetParamsFromXml(xmlBytes);
            var testObjectIn      = new TaskingParameterProcessor(statusReportProxy);

            Assert.AreEqual(2, testObjectIn.Parameters.ItemNames.Count);
            Assert.IsTrue(testObjectIn.Parameters.ItemNames.Contains("mycount"));
        }
예제 #4
0
        public void Obs_23_Create_ComplexFeatureOfInterest()
        {
            var featureOfInterestDetails = new Item_DataRecord();

            featureOfInterestDetails.Add("testctgfield", new Item_Category("testctgvalue"));

            Observation originalObj = new Observation(new Item_Measurement(null))
            {
                FeatureOfInterest        = "testfeaturename",
                FeatureOfInterestDetails = featureOfInterestDetails
            };

            // Serializing and validating the XML document
            Observation parsedObj = SerialiseAndReadResultObj(originalObj);

            Assert.AreEqual("testfeaturename", parsedObj.FeatureOfInterest);
            //Assert.AreEqual("testctgvalue", parsedObj.FeatureOfInterestDetails.GetItem().Value);
            Assert.IsTrue(parsedObj.FeatureOfInterestDetails.ItemNames.Contains("testctgfield"));

            // Not Item_DataRecord in detail, because there is another test for that
        }
예제 #5
0
        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);
        }