public void GenerateExtenderClassCode() { var codeGenerator = new BaseClassCodeGenerator(BASE_CLASS_NAME); codeGenerator.AddClassNameToExtend("Article"); codeGenerator.AddClassNameToExtend("Office"); var executingPath = AppContext.BaseDirectory; var expected_ExtenderCode = File.ReadAllText(executingPath + "/Assets/BaseClassExtender_CompiledCode.txt"); var actualCompiled_ExtenderClass = codeGenerator.GenereateExtenderCode(); Assert.Equal(expected_ExtenderCode, actualCompiled_ExtenderClass, ignoreLineEndingDifferences: true, ignoreWhiteSpaceDifferences: true); }
private async Task GenerateBaseClass() { var classCodeGenerators = await GetClassCodeGenerators(); if (!classCodeGenerators.Any()) { Console.WriteLine(NoContentTypeAvailableMessage); return; } var baseClassCodeGenerator = new BaseClassCodeGenerator(Options.BaseClass, Options.Namespace); foreach (var codeGenerator in classCodeGenerators) { baseClassCodeGenerator.AddClassNameToExtend(codeGenerator.ClassDefinition.ClassName); } var baseClassCode = baseClassCodeGenerator.GenerateBaseClassCode(); WriteToOutputProvider(baseClassCode, Options.BaseClass, false); var baseClassExtenderCode = baseClassCodeGenerator.GenerateExtenderCode(); WriteToOutputProvider(baseClassExtenderCode, baseClassCodeGenerator.ExtenderClassName, true); }
public void GenerateBaseClassCodeWithCustomNamespace() { var customNamespace = "CustomNamespace"; var codeGenerator = new BaseClassCodeGenerator(BASE_CLASS_NAME, customNamespace); codeGenerator.AddClassNameToExtend("Article"); codeGenerator.AddClassNameToExtend("Office"); var executingPath = AppContext.BaseDirectory; var expected_BaseClassCode = File.ReadAllText(executingPath + "/Assets/BaseClass_CompiledCode.txt"); expected_BaseClassCode = expected_BaseClassCode.Replace(ClassCodeGenerator.DEFAULT_NAMESPACE, customNamespace); var actualCompiled_BaseClass = codeGenerator.GenerateBaseClassCode(); Assert.Equal(expected_BaseClassCode, actualCompiled_BaseClass, ignoreLineEndingDifferences: true, ignoreWhiteSpaceDifferences: true); }