public void Setup()
        {
            _env = new TestEnvironment();
            _env.Settings.CommitWhenDone = true;
            _lfProject = LanguageForgeProject.Create(_env.Settings, testProjectCode);
            TestEnvironment.CopyFwProjectTo(testProjectCode, _env.Settings.WebWorkDirectory);

            // Guids are named for the diffs for the modified test project
            _testEntryGuid = Guid.Parse(testEntryGuidStr);
            _testCreatedEntryGuid = Guid.Parse(testCreatedEntryGuidStr);
            _testDeletedEntryGuid = Guid.Parse(testDeletedEntryGuidStr);

            _languageDepotFolder = new TemporaryFolder("SyncTestLD");
            _lDSettings = new LfMergeSettingsDouble(_languageDepotFolder.Path);
            Directory.CreateDirectory(_lDSettings.WebWorkDirectory);
            LDProjectFolderPath = Path.Combine(_lDSettings.WebWorkDirectory, testProjectCode);

            _mongoConnection = MainClass.Container.Resolve<IMongoConnection>() as MongoConnectionDouble;
            if (_mongoConnection == null)
                throw new AssertionException("Sync tests need a mock MongoConnection that stores data in order to work.");
            _recordFactory = MainClass.Container.Resolve<MongoProjectRecordFactory>() as MongoProjectRecordFactoryDouble;
            if (_recordFactory == null)
                throw new AssertionException("Sync tests need a mock MongoProjectRecordFactory in order to work.");

            _transferFdoToMongo = new TransferFdoToMongoAction(_env.Settings, _env.Logger, _mongoConnection);
        }
예제 #2
0
        public static LanguageForgeProject Create(LfMergeSettingsIni settings, string projectCode)
        {
            LanguageForgeProject project;
            if (CachedProjects.TryGetValue(projectCode, out project))
                return project;

            project = new LanguageForgeProject(settings, projectCode);
            CachedProjects.Add(projectCode, project);
            return project;
        }