public void T2_UseGlobalEnumForGlobalEnumAttribute() { var type = GeneratedTypes.Single(type => type.Identifier.Text == nameof(GlobalEnumAttributeType)); var prop = type.Members.OfType <PropertyDeclarationSyntax>().SingleOrDefault(prop => prop.Identifier.Text == "language"); var getter = prop.AccessorList.Accessors.Single(accessor => accessor.IsKind(SyntaxKind.GetAccessorDeclaration)); var ret = getter.DescendantNodes().OfType <ReturnStatementSyntax>().Last(); Assert.IsTrue(ret.ToString().StartsWith($"return (({EnumTypesNamespace}.{nameof(LanguageCodeEnum)}")); }
public void T3_UseNestedEnumForNestedEnumElement() { var type = GeneratedTypes.Single(type => type.Identifier.Text == nameof(NestedEnumElementType)); Assert.AreEqual(1, type.Members.OfType <EnumDeclarationSyntax>().Count()); var prop = type.Members.OfType <PropertyDeclarationSyntax>().SingleOrDefault(prop => prop.Identifier.Text == "Language"); var getter = prop.AccessorList.Accessors.Single(accessor => accessor.IsKind(SyntaxKind.GetAccessorDeclaration)); var ret = getter.DescendantNodes().OfType <ReturnStatementSyntax>().Last(); Assert.IsTrue(ret.ToString().StartsWith($"return (({EnumTypesNamespace}.{nameof(NestedEnumElementType)}.{nameof(NestedEnumElementType.LanguageEnum)}")); }
public void T5_DoNotRedefineDerivedNestedEnumAttribute() { var type = GeneratedTypes.Single(type => type.Identifier.Text == nameof(NestedDerivedEnumAttributeType)); Assert.AreEqual(1, type.Members.OfType <EnumDeclarationSyntax>().Count()); }