예제 #1
0
		public void Constructor_Path_CreatesTemporarySubDirectoryAtPath()
		{
			using (TemporaryFolder temporaryFolder = new TemporaryFolder("foo"))
			{
				Assert.IsTrue(Directory.Exists(temporaryFolder.FolderPath));
			}
		}
예제 #2
0
		public void Setup()
		{
			_tempFolder = new TemporaryFolder();
			_wordListFilePath = _tempFolder.GetTemporaryFile();
			_filePath = _tempFolder.GetTemporaryFile();
			//Db4oLexModelHelper.InitializeForNonDbTests();
			WeSayWordsProject.InitializeForTests();

			_lexEntryRepository = new LexEntryRepository(_filePath); // InMemoryRecordListManager();
			_glossingLanguageWSId = BasilProject.Project.WritingSystems.TestWritingSystemAnalId;
			_vernacularLanguageWSId = BasilProject.Project.WritingSystems.TestWritingSystemVernId;

			File.WriteAllLines(_wordListFilePath, _words);
			_viewTemplate = new ViewTemplate();
			_viewTemplate.Add(new Field(Field.FieldNames.EntryLexicalForm.ToString(),
										"LexEntry",
										new string[]
											{
													BasilProject.Project.WritingSystems.
															TestWritingSystemVernId
											}));

			_task = new GatherWordListTask( GatherWordListConfig.CreateForTests( _wordListFilePath,_glossingLanguageWSId),
											_lexEntryRepository,
										   _viewTemplate);
		}
예제 #3
0
		public void SetValues_Reopen_HasSameValues()
		{
			using (TemporaryFolder tempFolder = new TemporaryFolder("backupPlanControlTests"))
			{
				try
				{
					CreateNewAndGotoBackupControl(tempFolder.FolderPath);

					TextBoxTester t = new TextBoxTester("_pathText");
					t.Properties.Text = @"q:\";
					CloseApp();

					//now reopen
					OpenExisting(tempFolder.FolderPath);
					GoToBackupTab();
					t = new TextBoxTester("_pathText");

					Assert.AreEqual(@"q:\", t.Properties.Text);
				}
				finally
				{
					CloseApp();
				}
			}
		}
예제 #4
0
		public void GetTemporaryFile_FileExistsInTemporarySubdirectory()
		{
			TemporaryFolder temporaryFolder = new TemporaryFolder();
			string pathToFile = temporaryFolder.GetTemporaryFile();
			Assert.IsTrue(File.Exists(pathToFile));
			temporaryFolder.Delete();
		}
예제 #5
0
		public void Setup()
		{
			WeSayWordsProject.InitializeForTests();

			_tempFolder = new TemporaryFolder();
			_filePath = _tempFolder.GetTemporaryFile();
			_lexEntryRepository = new LexEntryRepository(_filePath);

			_target = CreateEntry("one", "single item");
			_source = CreateEntry("single", "one item");

			CreateEntry("verde", "green");
			CreateEntry("amarelho", "yellow");
			CreateEntry("azul", "blue");

			_synonymsRelationField = new Field("synonyms",
											   "LexEntry",
											   new string[] {"vernacular"},
											   Field.MultiplicityType.ZeroOrMore,
											   "RelationToOneEntry");
			_synonymsRelationType = new LexRelationType("synonyms",
														LexRelationType.Multiplicities.Many,
														LexRelationType.TargetTypes.Sense);

			_singleSynonymRelationField = new Field("synonym",
											  "LexEntry",
											  new string[] {"vernacular"},
											  Field.MultiplicityType.ZeroOr1,
											  "RelationToOneEntry");
			_singleSynonymRelationType = new LexRelationType("synonym",
													   LexRelationType.Multiplicities.One,
													   LexRelationType.TargetTypes.Sense);
		}
예제 #6
0
		public void GetTemporaryFile_CalledTwice_BothFilesFoundInSameTemporarySubdirectory()
		{
			TemporaryFolder temporaryFolder = new TemporaryFolder();
			temporaryFolder.GetTemporaryFile();
			temporaryFolder.GetTemporaryFile();
			Assert.AreEqual(2, Directory.GetFiles(temporaryFolder.FolderPath).Length);
			temporaryFolder.Delete();
		}
예제 #7
0
		public TempLiftFile(string fileName, TemporaryFolder parentFolder, string xmlOfEntries, string claimedLiftVersion)
			: base(false)
		{
			_path = parentFolder.Combine(fileName);

			string liftContents = string.Format("<?xml version='1.0' encoding='utf-8'?><lift version='{0}'>{1}</lift>", claimedLiftVersion, xmlOfEntries);
			File.WriteAllText(_path, liftContents);
		}
예제 #8
0
		public void GetTemporaryFile_Name_FileWithNameExistsInTemporarySubdirectory()
		{
			TemporaryFolder temporaryFolder = new TemporaryFolder();
			string pathToFile = temporaryFolder.GetTemporaryFile("blah");
			Assert.IsTrue(File.Exists(pathToFile));
			Assert.AreEqual(pathToFile, Path.Combine(temporaryFolder.FolderPath, "blah"));
			temporaryFolder.Delete();
		}
예제 #9
0
		public void ProjectIsCreated()
		{
			using(TemporaryFolder f = new TemporaryFolder("ProjectIsCreatedTest") )
			{
				_window.CreateAndOpenProject(f.FolderPath);
				_window.Close();
				_window.Dispose();
			}
		}
예제 #10
0
			public BackupScenario(string testName)
			{
				_projDir = new ProjectDirectorySetupForTesting("");

				_backupMaker = new ChorusBackupMaker();
				_backupDir = new TemporaryFolder(testName);

				_backupMaker.PathToParentOfRepositories = _backupDir.FolderPath;

			}
예제 #11
0
		public void Setup()
		{
			WeSayWordsProject.InitializeForTests();
			_stringBuilder = new StringBuilder();
			_tempFolder = new TemporaryFolder();
			_tempFile = _tempFolder.GetTemporaryFile();
			_exporter = new LiftExporter(_stringBuilder, false);
			_repository = new LiftRepository(_tempFile);
			_builder = new LexEntryFromLiftBuilder(_repository);
		}
예제 #12
0
		public void Constructor_TemporarySubDirectoryAlreadyExistsAndHasFilesInIt_EmptyTheTemporarySubDirectory()
		{
			TemporaryFolder temporaryFolder = new TemporaryFolder("NonStandard");
			string pathToFile = Path.Combine(temporaryFolder.FolderPath, Path.GetRandomFileName());
			FileStream file = File.Create(pathToFile);
			file.Close();
			TemporaryFolder temporaryFolderUsingSameDirectory = new TemporaryFolder("NonStandard");
			Assert.AreEqual(0, Directory.GetFiles(temporaryFolder.FolderPath).Length);
			temporaryFolder.Delete();
		}
예제 #13
0
		public TempFile(TemporaryFolder parentFolder)
		{
			if (parentFolder != null)
			{
				_path = parentFolder.GetPathForNewTempFile(true);
			}
			else
			{
				_path = System.IO.Path.GetTempFileName();
			}

		}
예제 #14
0
		public void UpdateFileStructure_LiftByItself_DoesNothing()
		{
			using (TemporaryFolder f = new TemporaryFolder("OpeningLiftFile_MissingConfigFile_GivesMessage"))
			{
				using(TempLiftFile lift = new TempLiftFile(f, "", "0.12"))
				{
					using(WeSayWordsProject p = new WeSayWordsProject())
					{
						Assert.AreEqual(lift.Path,p.UpdateFileStructure(lift.Path));
					}
				}
			}
		}
		public void Setup()
		{
			WeSayWordsProject.Project.RemoveCache();
			_tempFolder = new TemporaryFolder();
			_filePath = _tempFolder.GetTemporaryFile();
			_semanticDomainFilePath = _tempFolder.GetTemporaryFile();
			CreateSemanticDomainFile();

			_lexEntryRepository = new LexEntryRepository(_filePath);
			_viewTemplate = MakeViewTemplate("en");
			_task = new GatherBySemanticDomainTask(_semanticDomainFilePath,
												   _lexEntryRepository,
												   _viewTemplate);
		}
예제 #16
0
		public TempLiftFile(TemporaryFolder parentFolder, string xmlOfEntries, string claimedLiftVersion)
			: base(false)
		{
			if (parentFolder != null)
			{
				_path = parentFolder.GetPathForNewTempFile(false) + ".lift";
			}
			else
			{
				_path = System.IO.Path.GetRandomFileName() + ".lift";
			}

			string liftContents = string.Format("<?xml version='1.0' encoding='utf-8'?><lift version='{0}'>{1}</lift>", claimedLiftVersion, xmlOfEntries);
			File.WriteAllText(_path, liftContents);
		}
예제 #17
0
		public void SetUp()
		{
			WeSayWordsProject.InitializeForTests();

			_tempFolder = new TemporaryFolder();
			_filePath = _tempFolder.GetTemporaryFile();
			_lexEntryRepository = new LexEntryRepository(_filePath);

#if GlossMeaning
		   _primaryMeaningFieldName = Field.FieldNames.SenseGloss.ToString();
#else
			_primaryMeaningFieldName = LexSense.WellKnownProperties.Definition;
#endif

			string[] analysisWritingSystemIds = new string[]
													{
															BasilProject.Project.WritingSystems.
																	TestWritingSystemAnalId
													};
			string[] vernacularWritingSystemIds = new string[]
													  {
															  BasilProject.Project.WritingSystems.
																	  TestWritingSystemVernId
													  };
			RtfRenderer.HeadWordWritingSystemId = vernacularWritingSystemIds[0];

			_viewTemplate = new ViewTemplate();
			_viewTemplate.Add(new Field(Field.FieldNames.EntryLexicalForm.ToString(),
										"LexEntry",
										vernacularWritingSystemIds));
			_viewTemplate.Add(new Field(_primaryMeaningFieldName,
										"LexSense",
										analysisWritingSystemIds));
			_viewTemplate.Add(new Field(Field.FieldNames.ExampleSentence.ToString(),
										"LexExampleSentence",
										vernacularWritingSystemIds));
			_viewTemplate.Add(new Field(Field.FieldNames.ExampleTranslation.ToString(),
										"LexExampleSentence",
										analysisWritingSystemIds));

			empty = CreateTestEntry("", "", "");
			apple = CreateTestEntry("apple", "red thing", "An apple a day keeps the doctor away.");
			banana = CreateTestEntry("banana", "yellow food", "Monkeys like to eat bananas.");
			car = CreateTestEntry("car",
								  "small motorized vehicle",
								  "Watch out for cars when you cross the street.");
			bike = CreateTestEntry("bike", "vehicle with two wheels", "He rides his bike to school.");
		}
		public void Setup()
		{
			_tempFolder = new TemporaryFolder();
			_filePath = _tempFolder.GetTemporaryFile();
			_lexEntryRepository = new LexEntryRepository(_filePath);

			_target = _lexEntryRepository.CreateItem();
			_source = _lexEntryRepository.CreateItem();

			Field relationField = new Field("synonyms",
											"LexEntry",
											new string[] {"vernacular"},
											Field.MultiplicityType.ZeroOr1,
											"RelationToOneEntry");
			_missingRelationFieldFilter = new MissingFieldQuery(relationField);
		}
예제 #19
0
		public void Setup()
		{
			_tempFolder = new TemporaryFolder();
			_filePath = _tempFolder.GetTemporaryFile();
			_lexEntryRepository = new LexEntryRepository(_filePath);

			Form window = new Form();
			window.Size = new Size(800, 600);

			_lexEntryRepository.CreateItem();

			Dash dash = new Dash(_lexEntryRepository, null);//, new UserSettingsForTask());
			dash.ThingsToMakeButtonsFor = GetButtonItems();
			dash.Dock = DockStyle.Fill;
			window.Controls.Add(dash);
			window.BackColor = dash.BackColor;
			dash.Activate();
			Application.Run(window);
		}
예제 #20
0
		public void SetUp()
		{
			WeSayWordsProject.InitializeForTests();

			_tempFolder = new TemporaryFolder();
			_filePath = _tempFolder.GetTemporaryFile();
			_lexEntryRepository = new LexEntryRepository(_filePath);

			_writingSystem = new WritingSystem("pretendVernacular",
											   new Font(FontFamily.GenericSansSerif, 24));

			CreateTestEntry("apple", "red thing", "An apple a day keeps the doctor away.");
			CreateTestEntry("banana", "yellow food", "Monkeys like to eat bananas.");
			CreateTestEntry("car",
							"small motorized vehicle",
							"Watch out for cars when you cross the street.");
			CreateTestEntry("dog", "animal with four legs; man's best friend", "He walked his dog.");

			string[] analysisWritingSystemIds = new string[] {"analysis"};
			string[] vernacularWritingSystemIds = new string[] {_writingSystem.Id};
			RtfRenderer.HeadWordWritingSystemId = vernacularWritingSystemIds[0];

			_viewTemplate = new ViewTemplate();
			_viewTemplate.Add(new Field(Field.FieldNames.EntryLexicalForm.ToString(),
										"LexEntry",
										vernacularWritingSystemIds));
			_viewTemplate.Add(new Field(LexSense.WellKnownProperties.Definition,
										"LexSense",
										analysisWritingSystemIds));

			_viewTemplate.Add(new Field(Field.FieldNames.ExampleSentence.ToString(),
										"LexExampleSentence",
										vernacularWritingSystemIds));
			Field exampleTranslationField = new Field(
					Field.FieldNames.ExampleTranslation.ToString(),
					"LexExampleSentence",
					analysisWritingSystemIds);
			_viewTemplate.Add(exampleTranslationField);

			_missingTranslationRecordList =
					_lexEntryRepository.GetEntriesWithMissingFieldSortedByLexicalUnit(
							exampleTranslationField, _writingSystem);
		}
예제 #21
0
		public void Setup()
		{
			_tempFolder = new TemporaryFolder();
			_filePath = _tempFolder.GetTemporaryFile();

			WeSayWordsProject.InitializeForTests();
			string[] vernacularWritingSystemIds = new string[]
													  {
															  BasilProject.Project.WritingSystems.
																	  TestWritingSystemVernId
													  };
			_viewTemplate = new ViewTemplate();
			_viewTemplate.Add(new Field(Field.FieldNames.EntryLexicalForm.ToString(),
										"LexEntry",
										vernacularWritingSystemIds));
			_viewTemplate.Add(new Field("Note",
										"LexEntry",
										new string[] {"en"},
										Field.MultiplicityType.ZeroOr1,
										"MultiText"));
			_lexEntryRepository = new LexEntryRepository(_filePath);
			_task = new DictionaryTask( DictionaryBrowseAndEditConfiguration.CreateForTests(),  _lexEntryRepository, _viewTemplate);//, new UserSettingsForTask());
		}
예제 #22
0
		public override void Setup()
		{
			base.Setup();
			_tempFolder = new TemporaryFolder();
			_vernacularWritingSystem =
					new WritingSystem(BasilProject.Project.WritingSystems.TestWritingSystemVernId,
									  SystemFonts.DefaultFont);
			RtfRenderer.HeadWordWritingSystemId = _vernacularWritingSystem.Id;

			_filePath = _tempFolder.GetTemporaryFile();
			_lexEntryRepository = new LexEntryRepository(_filePath);

			string[] analysisWritingSystemIds = new string[]
													{
															BasilProject.Project.WritingSystems.
																	TestWritingSystemAnalId
													};
			string[] vernacularWritingSystemIds = new string[] {_vernacularWritingSystem.Id};
			ViewTemplate viewTemplate = new ViewTemplate();
			viewTemplate.Add(new Field(Field.FieldNames.EntryLexicalForm.ToString(),
									   "LexEntry",
									   vernacularWritingSystemIds));
			viewTemplate.Add(new Field("focusOnMe",
									   "LexEntry",
									   analysisWritingSystemIds,
									   Field.MultiplicityType.ZeroOr1,
									   "MultiText"));
			viewTemplate.Add(new Field("MyEntryCustom",
									   "LexEntry",
									   analysisWritingSystemIds,
									   Field.MultiplicityType.ZeroOr1,
									   "MultiText"));

			Field readOnlySemanticDomain =
					new Field(LexSense.WellKnownProperties.SemanticDomainsDdp4,
							  "LexSense",
							  analysisWritingSystemIds);
			readOnlySemanticDomain.Visibility = CommonEnumerations.VisibilitySetting.ReadOnly;
			viewTemplate.Add(readOnlySemanticDomain);

			Field shy1 = new Field("MyShyEntryCustom",
								   "LexEntry",
								   analysisWritingSystemIds,
								   Field.MultiplicityType.ZeroOr1,
								   "MultiText");
			shy1.Visibility = CommonEnumerations.VisibilitySetting.NormallyHidden;
			shy1.DisplayName = "MyShyEntryCustom";
			viewTemplate.Add(shy1);

#if GlossMeaning
			viewTemplate.Add(new Field(Field.FieldNames.SenseGloss.ToString(), "LexSense", analysisWritingSystemIds));
#else
			_definitionField = new Field(LexSense.WellKnownProperties.Definition,
										 "LexSense",
										 analysisWritingSystemIds);
			viewTemplate.Add(_definitionField);
#endif
			viewTemplate.Add(new Field("MySenseCustom",
									   "LexSense",
									   analysisWritingSystemIds,
									   Field.MultiplicityType.ZeroOr1,
									   "MultiText"));
			viewTemplate.Add(new Field(Field.FieldNames.ExampleSentence.ToString(),
									   "LexExampleSentence",
									   vernacularWritingSystemIds));
			viewTemplate.Add(new Field(Field.FieldNames.ExampleTranslation.ToString(),
									   "LexExampleSentence",
									   analysisWritingSystemIds));

			_firstEntryGuid = AddEntry("Initial", analysisWritingSystemIds[0], "meaning", true);
			_secondEntryGuid = AddEntry("Secondary", analysisWritingSystemIds[0], "secondarymeaning", false);
			AddEntry("Tertiary", analysisWritingSystemIds[0], "meaning", true);

			Field customField = new Field("SemanticDomains",
										  "LexSense",
										  analysisWritingSystemIds,
										  Field.MultiplicityType.ZeroOr1,
										  "OptionCollection");
			customField.DisplayName = "Sem Dom";
			customField.OptionsListFile = "SemanticDomains.xml";
			viewTemplate.Add(customField);

			Field customPOSField = new Field(LexSense.WellKnownProperties.PartOfSpeech,
											 "LexSense",
											 analysisWritingSystemIds,
											 Field.MultiplicityType.ZeroOr1,
											 "Option");
			customPOSField.DisplayName = "POS";
			customPOSField.OptionsListFile = "PartsOfSpeech.xml";
			viewTemplate.Add(customPOSField);

			Field customNotesField = new Field(WeSayDataObject.WellKnownProperties.Note,
											   "LexSense",
											   analysisWritingSystemIds);
			customNotesField.DisplayName = "s-note";
			viewTemplate.Add(customNotesField);

			Field exampleNotesField = new Field(WeSayDataObject.WellKnownProperties.Note,
												"LexExampleSentence",
												analysisWritingSystemIds);
			exampleNotesField.DisplayName = "ex-note";
			viewTemplate.Add(exampleNotesField);

			_task = new DictionaryTask(DictionaryBrowseAndEditConfiguration.CreateForTests(), _lexEntryRepository, viewTemplate);//, new UserSettingsForTask());
			_detailTaskPage = new TabPage();
			ActivateTask();

			_tabControl = new TabControl();

			_tabControl.Dock = DockStyle.Fill;
			_tabControl.TabPages.Add(_detailTaskPage);
			_tabControl.TabPages.Add(new TabPage("Dummy"));
			_window = new Form();
			_window.Controls.Add(_tabControl);
			_window.Width = 700;
			_window.Height = 500;
			_window.Show();
		}
예제 #23
0
		public void Delete_SubDirectoriesInDirectory_RemovesTemporaryDirectory()
		{
			TemporaryFolder temporaryFolder = new TemporaryFolder("NonStandard");
			string pathToSubdirectory = Path.Combine(temporaryFolder.FolderPath, Path.GetRandomFileName());
			Directory.CreateDirectory(pathToSubdirectory);
			temporaryFolder.Delete();
			Assert.IsFalse(Directory.Exists(temporaryFolder.FolderPath));
		}
예제 #24
0
		public void Constructor_PathDirectoryName_CreatesTemporarySubDirectoryAtPathWithGivenName()
		{
			TemporaryFolder temporaryFolder = new TemporaryFolder("Constructor_PathDirectoryName_CreatesTemporarySubDirectoryAtPathWithGivenName");
			Assert.IsTrue(Directory.Exists(temporaryFolder.FolderPath));
			temporaryFolder.Delete();
		}
예제 #25
0
		public void Constructor_CreatesTemporarySubDirectory()
		{
			TemporaryFolder temporaryFolder = new TemporaryFolder();
			Assert.IsTrue(Directory.Exists(temporaryFolder.FolderPath));
			temporaryFolder.Delete();
		}
예제 #26
0
		public void Delete_RemovesTemporarySubDirectory()
		{
			TemporaryFolder temporaryFolder = new TemporaryFolder("NonStandard");
			temporaryFolder.Delete();
			Assert.IsFalse(Directory.Exists(temporaryFolder.FolderPath));
		}
예제 #27
0
		public void Delete_FileInDirectory_RemovesTemporaryDirectory()
		{
			TemporaryFolder temporaryFolder = new TemporaryFolder("NonStandard");
			string pathToFile = Path.Combine(temporaryFolder.FolderPath, Path.GetRandomFileName());
			FileStream file = File.Create(pathToFile);
			file.Close();
			temporaryFolder.Delete();
			Assert.IsFalse(Directory.Exists(temporaryFolder.FolderPath));
		}
예제 #28
0
		public static TempFile CreateXmlFileWithContents(string fileName, TemporaryFolder folder, string xmlBody)
		{
			string path = folder.Combine(fileName);
			using (XmlWriter x = XmlWriter.Create(path))
			{
				x.WriteStartDocument();
				x.WriteRaw(xmlBody);
			}
			return new TempFile(path, true);
		}
예제 #29
0
		static public TemporaryFolder TrackExisting(string path)
		{
			Debug.Assert(Directory.Exists(path));
			TemporaryFolder f = new TemporaryFolder();
			f._path = path;
			return f;
		}
예제 #30
0
		public TemporaryFolder(TemporaryFolder parent, string name)
		{
			_path = parent.Combine(name);
			if (Directory.Exists(_path))
			{
				TestUtilities.DeleteFolderThatMayBeInUse(_path);
			}
			Directory.CreateDirectory(_path);
		}