public void TestMinMaxValue()
        {
            var validator = new Validator();

            var ed = new ElementDefinition
            {
                MinValue = new Model.Integer(4),
                MaxValue = new Model.Integer(6)
            };

            var node    = (new Model.Integer(5)).ToTypedElement();
            var outcome = validator.ValidateMinMaxValue(ed, node);

            Assert.True(outcome.Success);
            Assert.Equal(0, outcome.Warnings);

            node    = (new Model.Integer(4)).ToTypedElement();
            outcome = validator.ValidateMinMaxValue(ed, node);
            Assert.True(outcome.Success);
            Assert.Equal(0, outcome.Warnings);

            node    = (new Model.Integer(6)).ToTypedElement();
            outcome = validator.ValidateMinMaxValue(ed, node);
            Assert.True(outcome.Success);
            Assert.Equal(0, outcome.Warnings);

            node    = (new Model.Integer(1)).ToTypedElement();
            outcome = validator.ValidateMinMaxValue(ed, node);
            Assert.False(outcome.Success);
            Assert.Equal(0, outcome.Warnings);

            node    = (new Model.FhirString("hi")).ToTypedElement();
            outcome = validator.ValidateMinMaxValue(ed, node);
            Assert.True(outcome.Success);
            Assert.Equal(2, outcome.Warnings);

            ed.MinValue = new Model.HumanName();
            ed.MaxValue = new Model.FhirString("i comes after hi");
            outcome     = validator.ValidateMinMaxValue(ed, node);
            Assert.True(outcome.Success);
            Assert.Equal(1, outcome.Warnings);
        }