Esempio n. 1
0
        public void GetXamlTypeAndAllXamlTypes()
        {
            var ctx = new XamlSchemaContext(new Assembly [] { typeof(string).Assembly });             // build with corlib.

            Assert.AreEqual(0, ctx.GetAllXamlTypes(XamlLanguage.Xaml2006Namespace).Count(), "#0");    // premise

            var xt = ctx.GetXamlType(typeof(string));

            Assert.IsNotNull(xt, "#1");
            Assert.AreEqual(typeof(string), xt.UnderlyingType, "#2");
            Assert.IsTrue(object.ReferenceEquals(xt, ctx.GetXamlType(typeof(string))), "#3");

            // non-primitive type example
            Assert.IsTrue(object.ReferenceEquals(ctx.GetXamlType(GetType()), ctx.GetXamlType(GetType())), "#4");

            // after getting these types, it still returns 0. So it's not all about caching.
            Assert.AreEqual(0, ctx.GetAllXamlTypes(XamlLanguage.Xaml2006Namespace).Count(), "#5");
        }