Esempio n. 1
0
        public void ParseSearchParam()
        {
            var p1 = new SearchParam("dummy", "exact", new IntegerParamValue(ComparisonOperator.LTE, 18),
                                     new CombinedParamValue(new StringParamValue("ewout"), new ReferenceParamValue("patient", "1")));

            Assert.AreEqual("dummy:exact=<=18,\"ewout\"$patient/1", p1.QueryPair);

            var p2 = new SearchParam("name", isMissing: true);

            Assert.AreEqual("name:missing=true", p2.QueryPair);

            var p3 = SearchParam.FromQueryKeyAndValue("dummy:exact", "<=18,\"ewout\"$patient/1");

            Assert.AreEqual("dummy", p3.Name);
            Assert.AreEqual("exact", p3.Modifier);
            Assert.AreEqual(2, p3.Values.Count());
            Assert.AreEqual(18, ((UntypedParamValue)p3.Values.First()).AsIntegerParam().Value);
            Assert.AreEqual("\"ewout\"$patient/1", ((UntypedParamValue)p3.Values.Skip(1).First()).AsCombinedParam().QueryValue);
        }