Skip to content

Commit

Permalink
microsoft#2488 - Add using statement for EnumMember attribute
Browse files Browse the repository at this point in the history
  • Loading branch information
davit-asryan-veritas committed Mar 31, 2023
1 parent 9a09218 commit 0f1c532
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 1 deletion.
4 changes: 3 additions & 1 deletion src/Kiota.Builder/Writers/CSharp/CodeEnumWriter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ public override void WriteCodeElement(CodeEnum codeElement, LanguageWriter write
ArgumentNullException.ThrowIfNull(writer);
if (!codeElement.Options.Any())
return;
if (codeElement.Options.Any(x => x.IsNameEscaped))
writer.WriteLine($"using System.Runtime.Serialization;");

var codeNamespace = codeElement.Parent as CodeNamespace;
if (codeNamespace != null)
Expand All @@ -32,7 +34,7 @@ public override void WriteCodeElement(CodeEnum codeElement, LanguageWriter write
{
writer.WriteLine($"[EnumMember(Value = \"{option.SerializationName}\")]");
}
writer.WriteLine($"{option.Name.ToFirstCharacterUpperCase()}{(codeElement.Flags ? " = " + GetEnumFlag(idx) : string.Empty)},");
writer.WriteLine($"{option.Name}{(codeElement.Flags ? " = " + GetEnumFlag(idx) : string.Empty)},");
idx++;
}
if (codeNamespace != null)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ public void NamesDiffer_WritesEnumMember()
currentEnum.AddOption(new CodeEnumOption { Name = "InvalidName", SerializationName = "Invalid:Name"});
writer.Write(currentEnum);
var result = tw.ToString();
Assert.Contains($"using System.Runtime.Serialization;", result);
Assert.Contains($"[EnumMember(Value = \"Invalid:Name\")]", result);
}

Expand All @@ -66,6 +67,7 @@ public void NamesDontDiffer_DoesntWriteEnumMember()
currentEnum.AddOption(new CodeEnumOption { Name = "ValidName"});
writer.Write(currentEnum);
var result = tw.ToString();
Assert.DoesNotContain($"using System.Runtime.Serialization;", result);
Assert.DoesNotContain($"\"ValidName\"", result);
}

Expand Down

0 comments on commit 0f1c532

Please sign in to comment.