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 GenerateExtenderClassCode() { var codeGenerator = new BaseClassCodeGenerator(BaseClassName); codeGenerator.AddClassNameToExtend("Article"); codeGenerator.AddClassNameToExtend("Office"); var executingPath = AppContext.BaseDirectory; var expectedExtenderCode = File.ReadAllText(executingPath + "/Assets/BaseClassExtender_CompiledCode.txt"); var actualCompiledExtenderClass = codeGenerator.GenerateExtenderCode(); Assert.Equal(expectedExtenderCode, actualCompiledExtenderClass, ignoreLineEndingDifferences: true, ignoreWhiteSpaceDifferences: true); }