Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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();
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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);
        }