public void OutputToSingleFile() { using (NewContext) { var settings = new Settings { Modeler = "Swagger", CodeGenerator = "CSharp", Input = "RedisResource.json", FileSystem = _fileSystem, OutputDirectory = Path.GetTempPath(), OutputFileName = "test.file.cs" }; string path = Path.Combine(settings.OutputDirectory, "test.file.cs"); string existingContents = "this is dummy"; _fileSystem.VirtualStore[path] = new StringBuilder(existingContents); var codeGenerator = new SampleCodeGenerator(); codeGenerator.Generate(New <CodeModel>()).GetAwaiter().GetResult(); Assert.DoesNotContain(existingContents, _fileSystem.VirtualStore[path].ToString()); Assert.Equal(4, _fileSystem.VirtualStore.Count); Assert.True(_fileSystem.VirtualStore.ContainsKey(path)); Assert.True(_fileSystem.VirtualStore.ContainsKey("AutoRest.json")); Assert.True(_fileSystem.VirtualStore.ContainsKey("RedisResource.json")); } }
public void CodeWriterCreatesDirectory() { var settings = new Settings { CodeGenerator = "CSharp", FileSystem = _fileSystem, OutputDirectory = Path.GetTempPath() }; SampleCodeGenerator codeGenerator = new SampleCodeGenerator(settings); codeGenerator.Generate(new ServiceClient()).GetAwaiter().GetResult(); Assert.Contains(Path.Combine(settings.OutputDirectory, settings.ModelsName), _fileSystem.VirtualStore.Keys); }
public void When_Having_AssemblyAttribute_And_Using_Namespace_It_Should_Generate_Namespace_First_And_Attribute_Afterwards () { ICodeGenerator generator = new SampleCodeGenerator (); var compileUnit = ACompileUnitWithAttributeAndNamespace (); var writer = new StringWriter (); var options = new CodeGeneratorOptions (); generator.GenerateCodeFromCompileUnit (compileUnit, writer, options); string result = writer.ToString (); int importPosition = result.IndexOf (IMPORT); int attributePosition = result.IndexOf (ATTRIBUTE); AssertHelper.Greater (attributePosition, importPosition, "Actual order: " + result); }
public void When_Having_AssemblyAttribute_And_Using_Namespace_It_Should_Generate_Namespace_First_And_Attribute_Afterwards() { ICodeGenerator generator = new SampleCodeGenerator(); var compileUnit = ACompileUnitWithAttributeAndNamespace(); var writer = new StringWriter(); var options = new CodeGeneratorOptions(); generator.GenerateCodeFromCompileUnit(compileUnit, writer, options); string result = writer.ToString(); int importPosition = result.IndexOf(IMPORT); int attributePosition = result.IndexOf(ATTRIBUTE); AssertHelper.Greater(attributePosition, importPosition, "Actual order: " + result); }
public void CodeWriterCreatesDirectory() { using (NewContext) { var settings = new Settings { CodeGenerator = "CSharp", FileSystemInput = _fileSystemInput, OutputDirectory = Path.GetTempPath() }; SampleCodeGenerator codeGenerator = new SampleCodeGenerator(); codeGenerator.Generate(New <CodeModel>()).GetAwaiter().GetResult(); Assert.Contains(Path.Combine(settings.OutputDirectory, settings.ModelsName), settings.FileSystemOutput.VirtualStore.Keys); } }
public void CodeWriterOverwritesExistingFile() { var settings = new Settings { CodeGenerator = "CSharp", FileSystem = _fileSystem, OutputDirectory = Path.GetTempPath() }; string existingContents = "this is dummy"; string path = Path.Combine(settings.OutputDirectory, settings.ModelsName, "Pet.cs"); _fileSystem.VirtualStore[path] = new StringBuilder(existingContents); var codeGenerator = new SampleCodeGenerator(settings); codeGenerator.Generate(new ServiceClient()).GetAwaiter().GetResult(); Assert.NotEqual(existingContents, _fileSystem.VirtualStore[path].ToString()); }
public void OutputToSingleFile() { var settings = new Settings { Modeler = "Swagger", CodeGenerator = "CSharp", Input = "RedisResource.json", FileSystem = _fileSystem, OutputDirectory = Path.GetTempPath(), OutputFileName = "test.file.cs" }; string path = Path.Combine(settings.OutputDirectory, "test.file.cs"); var codeGenerator = new SampleCodeGenerator(settings); codeGenerator.Generate(new ServiceClient()).GetAwaiter().GetResult(); Assert.Equal(4, _fileSystem.VirtualStore.Count); Assert.True(_fileSystem.VirtualStore.ContainsKey(path)); Assert.True(_fileSystem.VirtualStore.ContainsKey("AutoRest.json")); Assert.True(_fileSystem.VirtualStore.ContainsKey("RedisResource.json")); }