Ejemplo n.º 1
0
        public void TestParseBindableString()
        {
            var ist = new Model.FhirString("Ewout");
            var nav = new PocoNavigator(ist);
            var c   = nav.ParseBindable() as Code;

            Assert.NotNull(c);
            Assert.Equal(ist.Value, c.Value);
        }
Ejemplo n.º 2
0
        public void TestParseBindableCoding()
        {
            var ic  = new Coding("system", "code");
            var nav = new PocoNavigator(ic);
            var c   = nav.ParseBindable() as Coding;

            Assert.NotNull(c);
            Assert.True(ic.IsExactly(c));
        }
Ejemplo n.º 3
0
        public void TestParseUnbindable()
        {
            // Now, something non-bindable
            var x   = new HumanName().WithGiven("Ewout");
            var nav = new PocoNavigator(x);
            var xe  = nav.ParseBindable();

            Assert.Null(xe);
        }
Ejemplo n.º 4
0
        public void TestParseBindableUri()
        {
            var iu  = new Model.FhirUri("http://somewhere.org");
            var nav = new PocoNavigator(iu);
            var c   = nav.ParseBindable() as Code;

            Assert.NotNull(c);
            Assert.Equal(iu.Value, c.Value);
        }
Ejemplo n.º 5
0
        public void TestParseBindableQuantity()
        {
            var iq  = new Model.Quantity(4.0m, "kg", system: null);
            var nav = new PocoNavigator(iq);
            var c   = nav.ParseBindable() as Coding;

            Assert.NotNull(c);
            Assert.Equal(iq.Code, c.Code);
            Assert.Equal("http://unitsofmeasure.org", c.System);  // auto filled out by parsebinding()
        }
Ejemplo n.º 6
0
        public void TestParseBindableExtension()
        {
            var ic  = new Coding("system", "code");
            var ext = new Extension {
                Value = ic
            };
            var nav = new PocoNavigator(ext);
            var c   = nav.ParseBindable() as Coding;

            Assert.NotNull(c);
            Assert.True(ic.IsExactly(c));

            ext.Value = new HumanName();
            nav       = new PocoNavigator(ext);
            c         = nav.ParseBindable() as Coding;
            Assert.Null(c);  // HumanName is not bindable

            ext.Value = null;
            nav       = new PocoNavigator(ext);
            c         = nav.ParseBindable() as Coding;
            Assert.Null(c);  // nothing to bind to
        }
Ejemplo n.º 7
0
        public void TestParseBindable()
        {
            var ic  = new Code("code");
            var nav = new PocoNavigator(ic);
            var c   = nav.ParseBindable(FHIRDefinedType.Code) as Coding;

            Assert.NotNull(c);
            Assert.Equal(ic.Value, c.Code);
            Assert.Null(c.System);

            var iq = new Model.Quantity(4.0m, "kg");

            nav = new PocoNavigator(iq);
            c   = nav.ParseBindable(FHIRDefinedType.Quantity) as Coding;
            Assert.NotNull(c);
            Assert.Equal(iq.Code, c.Code);
            Assert.Equal(iq.System, c.System);

            var ist = new Model.FhirString("Ewout");

            nav = new PocoNavigator(ist);
            c   = nav.ParseBindable(FHIRDefinedType.String) as Coding;
            Assert.NotNull(c);
            Assert.Equal(ist.Value, c.Code);
            Assert.Null(c.System);

            var iu = new Model.FhirUri("http://somewhere.org");

            nav = new PocoNavigator(iu);
            c   = nav.ParseBindable(FHIRDefinedType.Uri) as Coding;
            Assert.NotNull(c);
            Assert.Equal(iu.Value, c.Code);
            Assert.Null(c.System);

            // 'code','Coding','CodeableConcept','Quantity','Extension', 'string', 'uri'
        }