public void CreateManualMappings()
        {
            //Arrange
            var crudRepo = new EfRepository <EntityMapping>(_db, _authAdapter);
            var logger   = new InMemoryLogger();
            var repo     = new EntityMappingRepository(crudRepo, logger, null, null);



            var trainingData = new List <Mapping>
            {
                new Mapping
                {
                    Source      = "Commodity",
                    Destination = "commodity"
                }
            };



            //Act
            var result = repo.CreateMapping(new ManualMapping
            {
                Mappings      = trainingData,
                SourceId      = _sourceSystemId,
                DestinationId = _destinationSystemId
            });

            //Assert
            Assert.AreEqual(trainingData.Count, result);
        }
Exemplo n.º 2
0
        public void AutomatedMapping()
        {
            var db               = new EntityMapperDbContext();
            var auth             = new IdentityAuthAdapter();
            var repository       = new EfRepository <EntityMapping>(db, auth);
            var logger           = new InMemoryLogger();
            var sut              = new EntityMappingRepository(repository, logger, null, null);
            var automatedMapping = new AutomatedMapping
            {
                DestinationId  = 177,
                SourceId       = 176,
                LearningResult = new LearningResult(new List <LearntMapping>
                {
                    new LearntMapping
                    {
                        Mapping = new Mapping
                        {
                            Source      = "qmob_commodity",
                            Destination = "qcommodity"
                        }
                    }
                })
            };

            //act
            var result = sut.CreateMapping(automatedMapping);

            //assert
            Assert.AreEqual(1, result.Count());
        }
        public void Get()
        {
            //arrange
            //Todo: Use Autofacs config for this initialization
            AutoMapperConfig.RegisterMappings();
            var db          = new EntityMapperDbContext();
            var authAdapter = new IdentityAuthAdapter();
            var repo        = new EfRepository <EntityMapping>(db, authAdapter);
            var _logger     = new InMemoryLogger();
            EfRepository <MappingOrigin> originRepo        = new EfRepository <MappingOrigin>(db, authAdapter);
            EfRepository <Entity>        entityRepo        = new EfRepository <Entity>(db, authAdapter);
            IMappingRepository           mappingRepository = new EntityMappingRepository(repo, _logger, null, null);
            var sut           = new EntityMappingsController(repo, originRepo, entityRepo, mappingRepository);
            var dbRecordCount = db.EntityMappings.Count();

            //act
            var actionResult = sut.Get();
            var result       = actionResult as OkNegotiatedContentResult <List <EntityMappingViewModel> >;

            //assert
            Assert.NotNull(result);
            var content = result.Content;

            Assert.AreEqual(dbRecordCount, content.Count);
        }
Exemplo n.º 4
0
        public void CreateAutomatedMappings()
        {
            //Arrange
            var crudRepo = new EfRepository <EntityMapping>(_db, _authAdapter);
            var logger   = new InMemoryLogger();
            var repo     = new EntityMappingRepository(crudRepo, logger, null, null);



            var trainingData = new List <Mapping>
            {
                new Mapping
                {
                    Source      = "Commodity",
                    Destination = "commodity"
                }
            };


            repo.CreateMapping(new ManualMapping
            {
                Mappings      = trainingData,
                SourceId      = _sourceSystemId,
                DestinationId = _destinationSystemId
            });

            var learntMappings = new List <LearntMapping>
            {
                new LearntMapping {
                    Mapping = new Mapping
                    {
                        Source      = "Variety",
                        Destination = "variety"
                    }
                },
                new LearntMapping
                {
                    Mapping = new Mapping
                    {
                        Source      = "Farm",
                        Destination = "farm"
                    }
                }
            };

            var learningResult = new LearningResult(learntMappings);

            //Act
            var result = repo.CreateMapping(new AutomatedMapping
            {
                LearningResult = learningResult,
                SourceId       = _sourceSystemId,
                DestinationId  = _destinationSystemId
            });

            //Assert
            Assert.AreEqual(learntMappings.Count, result);
        }
Exemplo n.º 5
0
        //[SetUp]
        public void SetUp(int record)
        {
            _db = new EntityMapperDbContext();
            var testData = _db.TestDatas.Take(record).ToList();

            _authAdapter    = new IdentityAuthAdapter();
            _sourceIds      = new List <int>();
            _destinationIds = new List <int>();

            var domainCrud = new EfRepository <Domain>(_db, _authAdapter);
            var domain     = domainCrud.Add(new Domain
            {
                Name   = "Fruit",
                Active = true
            });



            var systemCrud   = new EfRepository <global::Data.Models.System>(_db, _authAdapter);
            var sourceSystem = systemCrud.Add(new global::Data.Models.System
            {
                Domain = domain,
                Name   = "QualityControl",
                Active = true
            });

            var destinationSystem = systemCrud.Add(new global::Data.Models.System
            {
                Domain = domain,
                Name   = "Labour",
                Active = true
            });

            _sourceSystemId      = sourceSystem.Id;
            _destinationSystemId = destinationSystem.Id;
            foreach (var source in testData.Select(t => t.Source))
            {
                var entityCrud = new EfRepository <Entity>(_db, _authAdapter);
                var entity     = entityCrud.Add(new Entity
                {
                    SystemId = _sourceSystemId,
                    Name     = source.Trim(),
                    Active   = true
                });
                _sourceIds.Add(entity.Id);
            }
            foreach (var destination in testData.Select(t => t.Destination))
            {
                var entityCrud = new EfRepository <Entity>(_db, _authAdapter);
                var entity     = entityCrud.Add(new Entity
                {
                    SystemId = _destinationSystemId,
                    Name     = destination.Trim(),
                    Active   = true
                });
                _destinationIds.Add(entity.Id);
            }
            _logger            = new InMemoryLogger();
            _entityMappingCrud = new EfRepository <EntityMapping>(_db, _authAdapter);
            _repo = new EntityMappingRepository(_entityMappingCrud, _logger, null, null);
        }
        public void KristalTest()
        {
            _db = new EntityMapperDbContext();
            _db = new EntityMapperDbContext();
            var sources         = _db.TestDatas.Where(t => t.Source.Trim() != "").Select(t => t.Source).ToList();
            var destinations    = _db.TestDatas.Where(t => t.Destination.Trim() != "").Select(t => t.Destination).ToList();
            var _authAdapter    = new IdentityAuthAdapter();
            var _sourceIds      = new List <int>();
            var _destinationIds = new List <int>();

            var domainCrud = new EfRepository <Domain>(_db, _authAdapter);
            var domain     = domainCrud.Add(new Domain
            {
                Name   = "Fruit",
                Active = true
            });



            var systemCrud   = new EfRepository <global::Data.Models.System>(_db, _authAdapter);
            var sourceSystem = systemCrud.Add(new global::Data.Models.System
            {
                Domain = domain,
                Name   = "Functions",
                Active = true
            });

            var destinationSystem = systemCrud.Add(new global::Data.Models.System
            {
                Domain = domain,
                Name   = "Tables",
                Active = true
            });
            var _sourceSystemId      = sourceSystem.Id;
            var _destinationSystemId = destinationSystem.Id;

            foreach (var source in sources)
            {
                var entityCrud = new EfRepository <Entity>(_db, _authAdapter);
                var entity     = entityCrud.Add(new Entity
                {
                    SystemId = _sourceSystemId,
                    Name     = source.Trim(),
                    Active   = true
                });
                _sourceIds.Add(entity.Id);
            }
            foreach (var destination in destinations)
            {
                var entityCrud = new EfRepository <Entity>(_db, _authAdapter);
                var entity     = entityCrud.Add(new Entity
                {
                    SystemId = _destinationSystemId,
                    Name     = destination.Trim(),
                    Active   = true
                });
                _destinationIds.Add(entity.Id);
            }
            var _logger            = new InMemoryLogger();
            var _entityMappingCrud = new EfRepository <EntityMapping>(_db, _authAdapter);
            var _repo = new EntityMappingRepository(_entityMappingCrud, _logger, null, null);

            var learningSession = new LearningSession(new UntrainedData
            {
                Sources      = _db.Entities.Where(t => _sourceIds.Contains(t.Id)).Select(t => t.Name).ToList(),
                Destinations = _db.Entities.Where(t => _destinationIds.Contains(t.Id)).Select(t => t.Name).ToList()
            });
            var result = learningSession.StartLearning();



            _repo.CreateMapping(new AutomatedMapping
            {
                LearningResult = result,
                SourceId       = _sourceSystemId,
                DestinationId  = _destinationSystemId
            });

            //var learningSession = new LearningSession(new UntrainedData
            //{
            //    Sources = sources,
            //    Destinations = destinations
            //});
            //var result = learningSession.StartLearning().Select(t => t.Mapping).ToList();
            var resultText = string.Join(@"\n", result.Select(t => t.Mapping).ToList().Select(t => t.Source + " - " + t.Destination).ToList());


            Assert.NotNull(resultText);
        }