Example #1
0
        public void TestGetComparable()
        {
            var navQ = new PocoNavigator(new Model.FhirDateTime(1972, 11, 30));

            Assert.Equal(0, navQ.GetComparableValue(typeof(Model.FhirDateTime)).CompareTo(Model.Primitives.PartialDateTime.Parse("1972-11-30")));

            navQ = new PocoNavigator(new Model.Quantity(3.14m, "kg"));
            Assert.Equal(-1, navQ.GetComparableValue(typeof(Model.Quantity)).CompareTo(new Model.Primitives.Quantity(5.0m, "kg")));

            navQ = new PocoNavigator(new Model.HumanName());
            Assert.Null(navQ.GetComparableValue(typeof(Model.HumanName)));

            var navQ2 = new PocoNavigator(new Model.Quantity(3.14m, "kg")
            {
                Comparator = Model.Quantity.QuantityComparator.GreaterOrEqual
            });

            Assert.Throws <NotSupportedException>(() => navQ2.GetComparableValue(typeof(Model.Quantity)));

            var navQ3 = new PocoNavigator(new Model.Quantity());

            Assert.Throws <NotSupportedException>(() => navQ3.GetComparableValue(typeof(Model.Quantity)));
        }