From 4996fd75b717fc050866a20e3acc6dff3952d218 Mon Sep 17 00:00:00 2001 From: Jeremy Koritzinsky Date: Sat, 9 Sep 2017 15:10:28 -0500 Subject: [PATCH] Added 'final' rename test --- SharpGen.E2ETests/RenameTests.cs | 41 +++++++++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/SharpGen.E2ETests/RenameTests.cs b/SharpGen.E2ETests/RenameTests.cs index 608f1f43..747c74a0 100644 --- a/SharpGen.E2ETests/RenameTests.cs +++ b/SharpGen.E2ETests/RenameTests.cs @@ -82,7 +82,46 @@ struct Test { var compilation = GetCompilationForGeneratedCode(); var structType = compilation.GetTypeByMetadataName($"{nameof(MappingNameRuleRenamesStructMember)}.Test"); - Assert.Equal(1, structType.GetMembers("MyField").Length); + Assert.Single(structType.GetMembers("MyField")); + } + + [Fact] + public void MarkingMappingFinalPreservesUnderscore() + { + var testDirectory = GenerateTestDirectory(); + var config = new Config.ConfigFile + { + Namespace = nameof(MarkingMappingFinalPreservesUnderscore), + Assembly = nameof(MarkingMappingFinalPreservesUnderscore), + IncludeDirs = { GetTestFileIncludeRule() }, + Includes = + { + CreateCppFile("simpleStruct", @" + struct Test { + int _testfield; + }; + ") + }, + Bindings = + { + new Config.BindRule("int", "System.Int32") + }, + Mappings = + { + new Config.MappingRule + { + Field = "Test::_testfield", + MappingName = "_field", + IsFinalMappingName = true + } + } + }; + var result = RunWithConfig(config); + AssertRanSuccessfully(result.success, result.output); + + var compilation = GetCompilationForGeneratedCode(); + var structType = compilation.GetTypeByMetadataName($"{nameof(MarkingMappingFinalPreservesUnderscore)}.Test"); + Assert.Single(structType.GetMembers("_field")); } } }