public void CreateEnum() { // arrange DocumentNode document = Parser.Default.Parse( "enum Abc { A B C }"); EnumTypeDefinitionNode typeDefinition = document .Definitions.OfType <EnumTypeDefinitionNode>().First(); var context = new SchemaContext(); var configuration = new SchemaConfiguration( context.RegisterServiceProvider, context.Types); // act var factory = new EnumTypeFactory(); EnumType enumType = factory.Create(typeDefinition); configuration.RegisterType(enumType); var typeFinalizer = new TypeFinalizer(configuration); typeFinalizer.FinalizeTypes(context, null); // assert Assert.Equal("Abc", enumType.Name); Assert.Collection(enumType.Values, t => Assert.Equal("A", t.Name), t => Assert.Equal("B", t.Name), t => Assert.Equal("C", t.Name)); }
public void CreateEnum() { // arrange EnumTypeDefinitionNode typeDefinition = CreateTypeDefinition <EnumTypeDefinitionNode>( "enum Abc { A B C }"); // act var factory = new EnumTypeFactory(); EnumType type = factory.Create(typeDefinition); CompleteType(type); // assert Assert.Equal("Abc", type.Name); Assert.Collection(type.Values, t => Assert.Equal("A", t.Name), t => Assert.Equal("B", t.Name), t => Assert.Equal("C", t.Name)); }
public void EnumValueDeprecationReason() { // arrange EnumTypeDefinitionNode typeDefinition = CreateTypeDefinition <EnumTypeDefinitionNode>(@" enum Abc { A B @deprecated(reason: ""reason123"") C }"); // act var factory = new EnumTypeFactory(); EnumType type = factory.Create(typeDefinition); CompleteType(type); // assert EnumValue value = type.Values.FirstOrDefault(t => t.Name == "B"); Assert.NotNull(value); Assert.True(value.IsDeprecated); Assert.Equal("reason123", value.DeprecationReason); }