Tests.Describer.MultiUseEnums C# (CSharp) Method

MultiUseEnums() private method

private MultiUseEnums ( ) : void
return void
        public void MultiUseEnums()
        {
            var c = AllPublicDescriber<MultiEnum>.GetForUse(true);
            Assert.AreEqual(typeof(ClassTypeDescription), c.GetType());

            var asClass = (ClassTypeDescription)c;
            Assert.AreEqual(3, asClass.Members.Count);
            Assert.AreEqual(typeof(EnumTypeDescription), asClass.Members["Foo"].GetType());
            Assert.AreEqual(typeof(BackReferenceTypeDescription), asClass.Members["Bar"].GetType());
            Assert.AreEqual(typeof(ClassTypeDescription), asClass.Members["Fizz"].GetType());

            var sub = (ClassTypeDescription)asClass.Members["Fizz"];
            var bar = (BackReferenceTypeDescription)asClass.Members["Bar"];

            Assert.AreEqual(2, sub.Members.Count);
            Assert.AreEqual(typeof(BackReferenceTypeDescription), sub.Members["Outer"].GetType());
            Assert.AreEqual(typeof(NullableTypeDescription), sub.Members["Buzz"].GetType());

            var buzz = (NullableTypeDescription)sub.Members["Buzz"];
            Assert.AreEqual(typeof(BackReferenceTypeDescription), buzz.InnerType.GetType());

            var buzzInner = (BackReferenceTypeDescription)buzz.InnerType;
        }
    }