public void ResolveSpecReference()
        {
            ReferenceSpecification referenceSpecification = new ReferenceSpecification("qwe");

            LessOrEqualSpecification    specification = new LessOrEqualSpecification("qwe", SpecificationValue.Single(1));
            Dictionary <string, object> values        =
                new Dictionary <string, object>
            {
                {
                    "qwe",
                    specification
                }
            };

            Specification resolved = referenceSpecification.ResolveSpecificationRefs(values);

            var kv = Assert.IsType <LessOrEqualSpecification>(resolved);

            Assert.Same(specification, kv);
        }
        public void ResolveSpecPartial()
        {
            ReferenceSpecification referenceSpecification = new ReferenceSpecification("qwe");

            ReferenceSpecification      refSpec = new ReferenceSpecification("qwe2");
            Dictionary <string, object> values  =
                new Dictionary <string, object>
            {
                {
                    "qwe",
                    refSpec
                }
            };

            ReferenceResolutionSettings settings = new ReferenceResolutionSettings();

            settings.AllowedUnresolvedSpecificationReferenceKeys.Add("qwe2");
            Specification resolved = referenceSpecification.ResolveSpecificationRefs(values, settings);

            Assert.Same(refSpec, resolved);
        }