public void CreateALearningSession() { //Arrange const int sourceSystemId = 1; const int destinationSystemId = 2; var sut = new LearningSessionDirector(); var mockRepo = new Mock <IMappingRepository>(); var trainingData = new List <Mapping> { new Mapping { Source = "Commodity", Destination = "commodity" } }; var untrainedData = new UntrainedData { Sources = new List <string> { "Variety", "Farm" }, Destinations = new List <string> { "variety", "farm" } }; mockRepo.Setup(t => t.GetMappings(It.IsAny <int>(), It.IsAny <int>())).Returns(new TrainingData(trainingData)); mockRepo.Setup(t => t.GetUntrainedData(It.IsAny <int>(), It.IsAny <int>())).Returns(untrainedData); var repo = mockRepo.Object; var sessionBuilder = new EntitySessionBuilder(repo); //Act sut.Constructor(sessionBuilder, sourceSystemId, destinationSystemId); var learningSession = sessionBuilder.GetResult(); var result = learningSession.StartLearning(); //Assert Assert.NotNull(result); var varietyMapping = result.First(t => t.Mapping.Source.Equals("Variety")).Mapping.Destination; Assert.AreEqual("variety", varietyMapping); var farmMapping = result.First(t => t.Mapping.Source.Equals("Farm")).Mapping.Destination; Assert.AreEqual("farm", farmMapping); }
public ISession Login(string username, string password) { Control.CheckPassword(password); var userEntity = _userManager.SearchEntity(username); if (userEntity is null || !Control.CompareHashPassword(Control.HashPassword(password), userEntity.Password)) { return(null); } if (userEntity.Session is null) { var sessionEntity = EntitySessionBuilder.NewBuilder() .Id(username) .SiteName(Name) .ValidUntil(_alarmClock.Now.AddSeconds(SessionExpirationInSeconds)) .Build(); _sessionManager.SaveOnDb(sessionEntity); return(SessionBuilder.NewSessionBuilder() .SetAlarmClock(_alarmClock) .SetConnectionString(_connectionString) .SetSessionEntity(sessionEntity) .Build()); } userEntity.Session.ValidUntil = _alarmClock.Now.AddSeconds(SessionExpirationInSeconds); _sessionManager.SaveOnDb(userEntity.Session, true); return(SessionBuilder.NewSessionBuilder() .SetAlarmClock(_alarmClock) .SetConnectionString(_connectionString) .SetSessionEntity(userEntity.Session) .Build()); }