public async Task CanParseMappingWithIgnores(string filename) { // Arrange var path = FileFinder.FindMapFile(filename); MapParserContext context = null; exampleLoader.Setup(x => x.LoadAsync(It.IsAny <MapParserContext>())).Callback <MapParserContext>(x => context = x); var project = ProjectBuilder.InputOutput(); var input = project.Models.First(x => x.Id == "input"); var personName = input.FindEntity("Person").FindAttribute("Name"); var personFirst = input.FindEntity("Person").FindAttribute("FirstName"); var cityName = input.FindEntity("City").FindAttribute("Name"); // Act var map = await parser.ParseAsync(path.FullName, project.Models); // Assert context.Should().NotBeNull(); context.MapList.IsIgnored(personName).Should().BeTrue(); context.MapList.IsIgnored(personFirst).Should().BeFalse(); context.MapList.IsIgnored(cityName).Should().BeTrue(); }
private DataAttribute FindAttribute(MapParserContext context, string modelId, string entityName, string attributeName) { var model = context.Models.First(x => x.Id == modelId); var entity = model.Entities.First(x => x.Name == entityName); return(entity.Attributes.First(x => x.Name == attributeName)); }
public MappedDataExpressionParserTests() { var project = ProjectBuilder.Predefined("input-output"); context = new MapParserContext("foo.txt", project.Models); context.AddModelAlias("input", project.Models.FirstOrDefault(x => x.Id == "input")); parser = new MappedDataExpressionParser(); }
private MapParserContext MakeContext(string modelName) { var project = ProjectBuilder.Predefined(modelName); var context = new MapParserContext("foo.txt", project.Models); foreach (var model in project.Models) { context.AddModelAlias(model.Id, model); } return(context); }
public async Task CanParseMappingWithExamples(string filename) { // Arrange var path = FileFinder.FindMapFile(filename); MapParserContext context = null; exampleLoader.Setup(x => x.LoadAsync(It.IsAny <MapParserContext>())).Callback <MapParserContext>(x => context = x); // Act var map = await parser.ParseAsync(path.FullName, ProjectBuilder.InputOutput().Models); // Assert context.Should().NotBeNull(); context.Examples.Should().HaveCountGreaterThan(0); }