public void Given_Class_Name_Person_When_Testing_Generating_Interface_IPerson() { var solution_dir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); var path = solution_dir.Replace("bin/Debug/netcoreapp2.0", ""); var expectedFileName = path + "IPerson.cs"; var dependencies = new List <string> { "System", "System.Collections.Generic" }; var personEntityDto = new EntityDto { Name = "Person", Fields = new List <FieldTypePairDto> { { new FieldTypePairDto { FieldName = "Name", Type = "string" } }, { new FieldTypePairDto { FieldName = "Age", Type = "int" } }, { new FieldTypePairDto { FieldName = "Friends", Type = "IEnumerable<IPerson>" } } } }; var dependencyGen = new DependenciesGenerator(dependencies); var namespaceGen = new NamespaceGenerator(); var fieldsGen = new FieldTypePairGenerator(); var bracketGen = new ClosedCurlyBracketGenerator(); var sut = new InterfaceFileGenerator( path, "Autogeneration.Entities.Test.Contracts", dependencyGen, namespaceGen, fieldsGen, bracketGen); sut.GenerateFile("Person", personEntityDto); Assert.True(File.Exists(expectedFileName)); }
public void Given_FieldName_And_Type_When_Testing_FieldTypePairGenerator_Generate( string fieldName, string type) { var item = new FieldTypePairDto { FieldName = fieldName, Type = type }; var sut = new FieldTypePairGenerator(); var result = sut.Generate(item); var expected = "\t\t" + type + " " + fieldName + " { get; set; }"; Assert.Equal(expected, result); }