示例#1
0
        public void TestPropertyDefaultAnnotationPickedUpOnActionParameter()
        {
            var method = FindMethod(typeof(Customer2), "SomeAction", new[] { typeof(int) });

            facetFactory.ProcessParams(Reflector, method, 0, Specification);
            var facet = Specification.GetFacet(typeof(IActionDefaultsFacet));

            Assert.IsNotNull(facet);
            Assert.IsTrue(facet is ActionDefaultsFacetAnnotation);
            var actionDefaultFacetAnnotation = (ActionDefaultsFacetAnnotation)facet;

            Assert.AreEqual(1, actionDefaultFacetAnnotation.GetDefault(null, null, null).value);
            Assert.AreEqual(TypeOfDefaultValue.Explicit, actionDefaultFacetAnnotation.GetDefault(null, null, null).type);
        }
        public void TestPropertyDefaultAnnotationPickedUpOnActionParameter()
        {
            IImmutableDictionary <string, ITypeSpecBuilder> metamodel = new Dictionary <string, ITypeSpecBuilder>().ToImmutableDictionary();
            MethodInfo method = FindMethod(typeof(Customer2), "SomeAction", new[] { typeof(int) });

            metamodel = facetFactory.ProcessParams(Reflector, method, 0, Specification, metamodel);
            IFacet facet = Specification.GetFacet(typeof(IActionDefaultsFacet));

            Assert.IsNotNull(facet);
            Assert.IsTrue(facet is ActionDefaultsFacetAnnotation);
            var actionDefaultFacetAnnotation = (ActionDefaultsFacetAnnotation)facet;

            Assert.AreEqual(1, actionDefaultFacetAnnotation.GetDefault(null).Item1);
            Assert.AreEqual(TypeOfDefaultValue.Explicit, actionDefaultFacetAnnotation.GetDefault(null).Item2);
            Assert.AreEqual(0, metamodel.Count);
        }