private ViewTemplate MakeViewTemplate() { string[] analysisWritingSystemIds = new string[] { WritingSystemsIdsForTests.AnalysisIdForTest }; string[] vernacularWritingSystemIds = new string[] { WritingSystemsIdsForTests.VernacularIdForTest }; ViewTemplate viewTemplate = new ViewTemplate(); Field field = new Field(Field.FieldNames.EntryLexicalForm.ToString(), "LexEntry", vernacularWritingSystemIds); field.DisplayName = "Word"; viewTemplate.Add(field); #if GlossMeaning string meaningFieldName = Field.FieldNames.SenseGloss.ToString(); #else string meaningFieldName = LexSense.WellKnownProperties.Definition; #endif viewTemplate.Add(new Field(meaningFieldName, "LexSense", analysisWritingSystemIds)); viewTemplate.Add(new Field(Field.FieldNames.ExampleSentence.ToString(), "LexExampleSentence", vernacularWritingSystemIds)); viewTemplate.Add(new Field(Field.FieldNames.ExampleTranslation.ToString(), "LexExampleSentence", analysisWritingSystemIds)); Field rare = new Field("rare", "LexSense", analysisWritingSystemIds); rare.Visibility = CommonEnumerations.VisibilitySetting.NormallyHidden; viewTemplate.Add(rare); return(viewTemplate); }
public void Setup() { BasilProject.InitializeForTests(); _FilePath = Path.GetTempFileName(); _lexEntryRepository = new LexEntryRepository(_FilePath); _outputPath = Path.Combine(Path.GetTempPath(), Path.GetTempFileName()); _writingSystemIds = new List<string>(new string[] {"red", "green", "blue"}); _headwordWritingSystem = new WritingSystem(_writingSystemIds[0], new Font(FontFamily.GenericSansSerif, 10)); _viewTemplate = new ViewTemplate(); _viewTemplate.Add(new Field(LexEntry.WellKnownProperties.Citation, "LexEntry", new string[] {"blue", "red"})); _viewTemplate.Add(new Field(LexEntry.WellKnownProperties.LexicalUnit, "LexEntry", new string[] {"red", "green", "blue"})); _viewTemplate.Add(new Field(LexEntry.WellKnownProperties.BaseForm, "LexEntry", _writingSystemIds)); Field visibleCustom = new Field("VisibleCustom", "LexEntry", _writingSystemIds, Field.MultiplicityType.ZeroOr1, "MultiText"); visibleCustom.Visibility = CommonEnumerations.VisibilitySetting.Visible; visibleCustom.DisplayName = "VisibleCustom"; _viewTemplate.Add(visibleCustom); }
public void Setup() { _tempFolder = new TemporaryFolder(); _filePath = _tempFolder.GetTemporaryFile(); WeSayProjectTestHelper.InitializeForTests(); string[] vernacularWritingSystemIds = new string[] { WritingSystemsIdsForTests.VernacularIdForTest }; _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); EntryViewControl.Factory entryViewFactory = (() => new EntryViewControl()); _dictControlFactory = (memory => new DictionaryControl(entryViewFactory, _lexEntryRepository, _viewTemplate, memory, new StringLogger())); _taskMemoryRepository = new TaskMemoryRepository(); _task = new DictionaryTask(_dictControlFactory, DictionaryBrowseAndEditConfiguration.CreateForTests("definition"), _lexEntryRepository, _taskMemoryRepository); // _task = new DictionaryTask( DictionaryBrowseAndEditConfiguration.CreateForTests(), _lexEntryRepository, // _viewTemplate, new TaskMemoryRepository(), new StringLogger())};//, new UserSettingsForTask()); }
private static ViewTemplate PopulateViewTemplate() { var f = new ViewTemplate(); f.Add(new Field("field1", "LexEntry", new[] { "en", "br", "th" })); f.Add(new Field("field2", "LexEntry", new[] { "th" })); f.Add(new Field("field2", "LexEntry", new[] { "en", "br" })); return(f); }
public void Setup() { WeSayProjectTestHelper.InitializeForTests(); _glossingLanguageWSId = WritingSystemsIdsForTests.AnalysisIdForTest; _vernacularLanguageWSId = WritingSystemsIdsForTests.VernacularIdForTest; BasilProject.Project.WritingSystems.Set(WritingSystemDefinition.Parse("fr")); _tempFolder = new TemporaryFolder(); _simpleWordListFilePath = _tempFolder.GetTemporaryFile(); // _liftWordListFile = new TempLiftFile("wordlist.lift",_tempFolder, LiftXml, LiftIO.Validation.Validator.LiftVersion); _filePath = _tempFolder.GetTemporaryFile(); _lexEntryRepository = new LexEntryRepository(_filePath); // InMemoryRecordListManager(); File.WriteAllLines(_simpleWordListFilePath, _words); _viewTemplate = new ViewTemplate(); _viewTemplate.Add(new Field(Field.FieldNames.EntryLexicalForm.ToString(), "LexEntry", new string[] { WritingSystemsIdsForTests.VernacularIdForTest })); _viewTemplate.Add( new Field( LexSense.WellKnownProperties.Definition.ToString(), "LexSense", new string[] { WritingSystemsIdsForTests.AnalysisIdForTest, "fr" } ) ); _viewTemplate.Add( new Field( LexSense.WellKnownProperties.Gloss.ToString(), "LexSense", new string[] { WritingSystemsIdsForTests.AnalysisIdForTest, "fr" } ) ); _catalog = new WordListCatalog(); _catalog.Add(_simpleWordListFilePath, new WordListDescription("en", "label", "longLabel", "description")); _task = new GatherWordListTask(GatherWordListConfig.CreateForTests(_simpleWordListFilePath, _glossingLanguageWSId, _catalog), _lexEntryRepository, _viewTemplate, new TaskMemoryRepository()); }
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(); _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); }
public SampleTaskBuilder(WeSayWordsProject project, ICurrentWorkTask currentWorkTask, IRecordListManager recordListManager) { _picoContext = CreateContainer(); _picoContext.RegisterComponentInstance("Project", project); _picoContext.RegisterComponentInstance("Current Task Provider", currentWorkTask); _picoContext.RegisterComponentInstance("Record List Manager", recordListManager); string[] analysisWritingSystemIds = new string[] { project.WritingSystems.AnalysisWritingSystemDefaultId }; string[] vernacularWritingSystemIds = new string[] {project.WritingSystems.VernacularWritingSystemDefaultId}; ViewTemplate viewTemplate = new ViewTemplate(); viewTemplate.Add(new Field(Field.FieldNames.EntryLexicalForm.ToString(), vernacularWritingSystemIds)); viewTemplate.Add(new Field(Field.FieldNames.SenseGloss .ToString(), analysisWritingSystemIds)); viewTemplate.Add(new Field(Field.FieldNames.ExampleSentence.ToString(), vernacularWritingSystemIds)); viewTemplate.Add(new Field(Field.FieldNames.ExampleTranslation.ToString(), analysisWritingSystemIds)); _picoContext.RegisterComponentInstance("Default Field Inventory", viewTemplate); }
private static ViewTemplate MakeSampleInventory() { ViewTemplate f = new ViewTemplate(); f.Add(new Field(Field.FieldNames.EntryLexicalForm.ToString(), "LexEntry", new string[] { "xx", "yy" })); Field field = new Field(LexSense.WellKnownProperties.Gloss, "LexSense", new string[] { "zz" }); field.Enabled = false; //field.Visibility = CommonEnumerations.VisibilitySetting.Invisible; f.Add(field); return(f); }
public SampleTaskBuilder(WeSayWordsProject project, ICurrentWorkTask currentWorkTask, IRecordListManager recordListManager) { _picoContext = CreateContainer(); _picoContext.RegisterComponentInstance("Project", project); _picoContext.RegisterComponentInstance("Current Task Provider", currentWorkTask); _picoContext.RegisterComponentInstance("Record List Manager", recordListManager); string[] analysisWritingSystemIds = new string[] { project.WritingSystems.AnalysisWritingSystemDefaultId }; string[] vernacularWritingSystemIds = new string[] { project.WritingSystems.VernacularWritingSystemDefaultId }; ViewTemplate viewTemplate = new ViewTemplate(); viewTemplate.Add(new Field(Field.FieldNames.EntryLexicalForm.ToString(), vernacularWritingSystemIds)); viewTemplate.Add(new Field(Field.FieldNames.SenseGloss.ToString(), analysisWritingSystemIds)); viewTemplate.Add(new Field(Field.FieldNames.ExampleSentence.ToString(), vernacularWritingSystemIds)); viewTemplate.Add(new Field(Field.FieldNames.ExampleTranslation.ToString(), analysisWritingSystemIds)); _picoContext.RegisterComponentInstance("Default Field Inventory", viewTemplate); }
public void SetUp() { WeSayProjectTestHelper.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[] { WritingSystemsIdsForTests.AnalysisIdForTest }; string[] vernacularWritingSystemIds = new string[] { WritingSystemsIdsForTests.VernacularIdForTest }; 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."); }
private static ViewTemplate MakeViewTemplate(string nameAndQuestionWritingSystem) { Field semanticDomainField = new Field(LexSense.WellKnownProperties.SemanticDomainsDdp4, "LexSense", new string[] {nameAndQuestionWritingSystem}); semanticDomainField.OptionsListFile = "Ddp4.xml"; semanticDomainField.DataTypeName = "OptionRefCollection"; ViewTemplate v = new ViewTemplate(); Field lexicalFormField = new Field(Field.FieldNames.EntryLexicalForm.ToString(), "LexEntry", new string[] {"br"}); lexicalFormField.DataTypeName = "MultiText"; v.Add(lexicalFormField); v.Add(semanticDomainField); return v; }
public void Setup() { _tempFolder = new TemporaryFolder(); _filePath = _tempFolder.GetTemporaryFile(); _lexEntryRepository = new LexEntryRepository(_filePath); WeSayProjectTestHelper.InitializeForTests(); RtfRenderer.HeadWordWritingSystemId = _vernacularWritingSystemId; _missingFieldName = LexSense.WellKnownProperties.Definition; LexEntry entry = _lexEntryRepository.CreateItem(); _lexicalForm = "vernacular"; entry.LexicalForm.SetAlternative(_vernacularWritingSystemId, _lexicalForm); _lexEntryRepository.SaveItem(entry); _longLabel = "Long label"; _remainingCountText = "Remaining count:"; _referenceCountText = "Reference count:"; _fieldsToShow = "LexicalForm"; _label = "My label"; _description = "My description"; _viewTemplate = new ViewTemplate(); _viewTemplate.Add(new Field(LexEntry.WellKnownProperties.LexicalUnit, "LexEntry", new string[] { _vernacularWritingSystemId })); _viewTemplate.Add(new Field(LexSense.WellKnownProperties.Definition, "LexSense", new string[] { "en" })); _viewTemplate.Add(new Field(Field.FieldNames.ExampleSentence.ToString(), "LexExampleSentence", new string[] { "th" })); _task = CreateMissingInfoTask(_lexEntryRepository, _missingFieldName, _label, _longLabel, _description, _remainingCountText, _referenceCountText, _viewTemplate, _fieldsToShow, string.Empty); }
public void CustomFieldRetained() { ViewTemplate master = MakeMasterInventory(); int count = master.Count; var usersTemplate = new ViewTemplate(); usersTemplate.Add(new Field("dummy", "LexEntry", new[] { "en" })); ViewTemplate.UpdateUserViewTemplate(master, usersTemplate); Assert.IsTrue(usersTemplate.Contains("dummy")); }
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); }
public void FieldsToShow_PrefixedField_InitializedFromCreate() { ViewTemplate viewTemplate = new ViewTemplate(); string[] writingSystemIds = new string[] { "en" }; viewTemplate.Add(new Field("Dummy", "LexSense", writingSystemIds)); viewTemplate.Add(new Field("PrefixDummy", "LexSense", writingSystemIds)); MissingInfoTask task = CreateMissingInfoTask(_lexEntryRepository, "Dummy", _label, _longLabel, _description, _remainingCountText, _referenceCountText, viewTemplate, "Dummy", string.Empty); Assert.AreEqual(true, task.ViewTemplate.Contains("Dummy")); Assert.AreEqual(false, task.ViewTemplate.Contains("PrefixDummy")); }
public void UpdateUserViewTemplate_Jan2008Upgrade_DefinitionGetsGlossWritingSystemsAdded() { ViewTemplate master = MakeMasterInventory(); ViewTemplate simple = new ViewTemplate(); Field definitionField = new Field(LexSense.WellKnownProperties.Definition, "LexSense", new[] { "en", "a", "b" }); definitionField.Enabled = false; simple.Add(definitionField); Field glossField = new Field(LexSense.WellKnownProperties.Gloss, "LexSense", new[] { "b", "c" }); simple.Add(glossField); ViewTemplate.UpdateUserViewTemplate(master, simple); Assert.AreEqual(4, definitionField.WritingSystemIds.Count); Assert.IsTrue(definitionField.WritingSystemIds.Contains("en")); Assert.IsTrue(definitionField.WritingSystemIds.Contains("a")); Assert.IsTrue(definitionField.WritingSystemIds.Contains("b")); Assert.IsTrue(definitionField.WritingSystemIds.Contains("c")); }
public void UpdateUserViewTemplate_Jan2008Upgrade_DefinitionIsEnabled() { ViewTemplate master = MakeMasterInventory(); var simple = new ViewTemplate(); var definitionField = new Field(LexSense.WellKnownProperties.Definition, "LexSense", new[] { "en" }); definitionField.Enabled = false; simple.Add(definitionField); ViewTemplate.UpdateUserViewTemplate(master, simple); Assert.IsTrue(definitionField.Enabled); }
public MissingInfoTask(MissingInfoConfiguration config, LexEntryRepository lexEntryRepository, ViewTemplate viewTemplate) : base( config, lexEntryRepository) { if (config.MissingInfoField == null) { throw new ArgumentNullException("MissingInfoField"); } if (viewTemplate == null) { throw new ArgumentNullException("viewTemplate"); } _missingInfoField = viewTemplate[config.MissingInfoField]; _viewTemplate = CreateViewTemplateFromListOfFields(viewTemplate, config.FieldsToShow); MarkReadOnlyFields(config.FieldsToShowReadOnly); //hack until we overhaul how Tasks are setup: _isBaseFormFillingTask = config.FieldsToShow.Contains(LexEntry.WellKnownProperties.BaseForm); if (_isBaseFormFillingTask) { Field flagField = new Field(); flagField.DisplayName = StringCatalog.Get("~This word has no Base Form", "The user will click this to say that this word has no baseform. E.g. Kindess has Kind as a baseform, but Kind has no other word as a baseform."); flagField.DataTypeName = "Flag"; flagField.ClassName = "LexEntry"; flagField.FieldName = "flag_skip_" + config.MissingInfoField; flagField.Enabled = true; _viewTemplate.Add(flagField); } _writingSystem = BasilProject.Project.WritingSystems.UnknownVernacularWritingSystem; // use the master view Template instead of the one for this task. (most likely the one for this // task doesn't have the EntryLexicalForm field specified but the Master (Default) one will Field fieldDefn = WeSayWordsProject.Project.DefaultViewTemplate.GetField( Field.FieldNames.EntryLexicalForm.ToString()); if (fieldDefn != null) { if (fieldDefn.WritingSystemIds.Count > 0) { _writingSystem = BasilProject.Project.WritingSystems[fieldDefn.WritingSystemIds[0]]; } else { throw new ConfigurationException("There are no writing systems enabled for the Field '{0}'", fieldDefn.FieldName); } } }
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()); }
[Test] //Greg's WS-375 public void FieldsToShow_RequiredFields_ShownEvenIfDisabledInDefaultTemplate() { ViewTemplate viewTemplate = new ViewTemplate(); string[] writingSystemIds = new string[] { "en" }; Field field = new Field("Dummy", "LexSense", writingSystemIds); field.Enabled = false; viewTemplate.Add(field); viewTemplate.Add(new Field("PrefixDummy", "LexSense", writingSystemIds)); MissingInfoTask task = CreateMissingInfoTask(_lexEntryRepository, "Dummy", _label, _longLabel, _description, _remainingCountText, _referenceCountText, viewTemplate, "PrefixDummy Dummy", string.Empty); Assert.AreEqual(true, task.ViewTemplate.Contains("Dummy")); }
private static ViewTemplate CreateViewTemplateFromListOfFields(IEnumerable <Field> fieldList, string fieldsToShow, string fieldsToShowReadOnly) { string[] fields = SplitUpFieldNames(fieldsToShow + "," + fieldsToShowReadOnly); ViewTemplate viewTemplate = new ViewTemplate(); foreach (Field field in fieldList) { if (Array.IndexOf(fields, field.FieldName) >= 0) { if (field.Enabled == false) //make sure specified fields are shown (greg's ws-356) { Field enabledField = new Field(field); enabledField.Visibility = CommonEnumerations.VisibilitySetting.Visible; enabledField.Enabled = true; viewTemplate.Add(enabledField); } else { if (field.Visibility != CommonEnumerations.VisibilitySetting.Visible) //make sure specified fields are visible (not in 'rare mode) { Field visibleField = new Field(field); visibleField.Visibility = CommonEnumerations.VisibilitySetting.Visible; viewTemplate.Add(visibleField); } else { viewTemplate.Add(field); } } } } return(viewTemplate); }
private GatherWordListTask CreateAndActivateLiftTask(IEnumerable <string> definitionWritingSystems, string entriesXml) { var file = new TempLiftFile("wordlist.lift", _tempFolder, entriesXml, Palaso.Lift.Validation.Validator.LiftVersion); var vt = new ViewTemplate(); vt.Add(new Field( Field.FieldNames.EntryLexicalForm.ToString(), "LexEntry", new[] { WritingSystemsIdsForTests.VernacularIdForTest } )); vt.Add(new Field( LexSense.WellKnownProperties.Definition.ToString(), "LexSense", definitionWritingSystems )); vt.Add( new Field( LexSense.WellKnownProperties.Gloss.ToString(), "LexSense", new string[] { WritingSystemsIdsForTests.AnalysisIdForTest, "fr" } ) ); var t = new GatherWordListTask( GatherWordListConfig.CreateForTests(file.Path, "xx", _catalog), _lexEntryRepository, vt, new TaskMemoryRepository() ); t.Activate(); return(t); }
public void UserInvWithVisibleFieldConveyedToMaster() { ViewTemplate master = MakeMasterInventory(); Assert.IsFalse(master.Contains(Field.FieldNames.ExampleTranslation.ToString()), "If translation is turned on by default, you must fix the test which sees if it is turned on by the user inventory"); int count = master.Count; var simple = new ViewTemplate(); simple.Add(new Field(Field.FieldNames.ExampleTranslation.ToString(), "LexExampleSentence", new[] { "en" })); ViewTemplate.UpdateUserViewTemplate(master, simple); Assert.AreEqual(count, master.Count); Assert.IsTrue(master.Contains(Field.FieldNames.ExampleTranslation.ToString())); }
public void SetUp() { WeSayProjectTestHelper.InitializeForTests(); _tempFolder = new TemporaryFolder(); _filePath = _tempFolder.GetTemporaryFile(); _lexEntryRepository = new LexEntryRepository(_filePath); _writingSystem = WritingSystemDefinition.Parse(WritingSystemsIdsForTests.OtherIdForTest); 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[] { WritingSystemsIdsForTests.AnalysisIdForTest }; string[] vernacularWritingSystemIds = new[] { _writingSystem.Id }; RtfRenderer.HeadWordWritingSystemId = vernacularWritingSystemIds[0]; _viewTemplate = new ViewTemplate { new Field(Field.FieldNames.EntryLexicalForm.ToString(), "LexEntry", vernacularWritingSystemIds), new Field(LexSense.WellKnownProperties.Definition, "LexSense", analysisWritingSystemIds), new Field(Field.FieldNames.ExampleSentence.ToString(), "LexExampleSentence", vernacularWritingSystemIds) }; var exampleTranslationField = new Field( Field.FieldNames.ExampleTranslation.ToString(), "LexExampleSentence", analysisWritingSystemIds ); _viewTemplate.Add(exampleTranslationField); _missingTranslationRecordList = _lexEntryRepository.GetEntriesWithMissingFieldSortedByLexicalUnit( exampleTranslationField, null, _writingSystem); }
public EnvironmentForTest() { _projectDir = new ProjectDirectorySetupForTesting(""); var project = _projectDir.CreateLoadedProject(); _outputFile = new TempFile(); Repo = new LexEntryRepository(_projectDir.PathToLiftFile); WritingSystemIds = new List <string>(new[] { Red, Green, Blue, Voice }); HeadwordWritingSystem = WritingSystemDefinition.Parse(Red); project.WritingSystems.Set(HeadwordWritingSystem); project.WritingSystems.Set(WritingSystemDefinition.Parse(Green)); project.WritingSystems.Set(WritingSystemDefinition.Parse(Blue)); project.WritingSystems.Set(WritingSystemDefinition.Parse(Voice)); Template = new ViewTemplate { new Field( LexEntry.WellKnownProperties.Citation, "LexEntry", new[] { Blue, Red, Voice }), new Field( LexEntry.WellKnownProperties.LexicalUnit, "LexEntry", new[] { Red, Green, Blue, Voice }), new Field( LexEntry.WellKnownProperties.BaseForm, "LexEntry", WritingSystemIds), new Field( "brother", "LexEntry", WritingSystemIds) }; var visibleCustom = new Field( "VisibleCustom", "LexEntry", WritingSystemIds, Field.MultiplicityType.ZeroOr1, "MultiText" ); visibleCustom.Visibility = CommonEnumerations.VisibilitySetting.Visible; visibleCustom.DisplayName = "VisibleCustom"; Template.Add(visibleCustom); }
private EntryViewControl CreateFilteredForm(LexEntry entry, string field, string className, params string[] writingSystems) { ViewTemplate viewTemplate = new ViewTemplate(); viewTemplate.Add(new Field(field, className, writingSystems)); EntryViewControl entryViewControl = new EntryViewControl(); entryViewControl.LexEntryRepository = _lexEntryRepository; entryViewControl.ViewTemplate = viewTemplate; entryViewControl.DataSource = entry; Form window = new Form(); window.Controls.Add(entryViewControl); window.Show(); return(entryViewControl); }
private EntryViewControl CreateFilteredForm(LexEntry entry, string field, string className, params string[] writingSystems) { ViewTemplate viewTemplate = new ViewTemplate(); viewTemplate.Add(new Field(field, className, writingSystems)); EntryViewControl entryViewControl = new EntryViewControl(); entryViewControl.LexEntryRepository = _lexEntryRepository; entryViewControl.ViewTemplate = viewTemplate; entryViewControl.DataSource = entry; Form window = new Form(); window.Controls.Add(entryViewControl); window.Show(); return entryViewControl; }
private DetailList MakeDetailList(bool showNormallyHiddenFields) { string[] analysisWritingSystemIds = new string[] { BasilProject.Project.WritingSystems. TestWritingSystemAnalId }; string[] vernacularWritingSystemIds = new string[] { BasilProject.Project.WritingSystems. TestWritingSystemVernId }; ViewTemplate viewTemplate = new ViewTemplate(); Field field = new Field(Field.FieldNames.EntryLexicalForm.ToString(), "LexEntry", vernacularWritingSystemIds); field.DisplayName = "Word"; viewTemplate.Add(field); #if GlossMeaning string meaningFieldName = Field.FieldNames.SenseGloss.ToString(); #else string meaningFieldName = LexSense.WellKnownProperties.Definition; #endif viewTemplate.Add(new Field(meaningFieldName, "LexSense", analysisWritingSystemIds)); viewTemplate.Add(new Field(Field.FieldNames.ExampleSentence.ToString(), "LexExampleSentence", vernacularWritingSystemIds)); viewTemplate.Add(new Field(Field.FieldNames.ExampleTranslation.ToString(), "LexExampleSentence", analysisWritingSystemIds)); Field rare = new Field("rare", "LexSense", analysisWritingSystemIds); rare.Visibility = CommonEnumerations.VisibilitySetting.NormallyHidden; viewTemplate.Add(rare); //TODO need tests for other data types when made optional //TODO need tests for showing non-empty optional tests in non-show-all mode LexEntry entry = GetNewEntry(); DetailList dl = new DetailList(); LexEntryLayouter layout = new LexEntryLayouter(dl, viewTemplate, null); layout.ShowNormallyHiddenFields = showNormallyHiddenFields; _rowCount = layout.AddWidgets(entry); return dl; }
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(); }
private static ViewTemplate CreateViewTemplateFromListOfFields(IEnumerable<Field> fieldList, string fieldsToShow) { string[] fields = SplitUpFieldNames(fieldsToShow); ViewTemplate viewTemplate = new ViewTemplate(); foreach (Field field in fieldList) { if (Array.IndexOf(fields, field.FieldName) >= 0) { if (field.Enabled == false) //make sure specified fields are shown (greg's ws-356) { Field enabledField = new Field(field); enabledField.Visibility = CommonEnumerations.VisibilitySetting.Visible; enabledField.Enabled = true; viewTemplate.Add(enabledField); } else { if (field.Visibility != CommonEnumerations.VisibilitySetting.Visible) //make sure specified fields are visible (not in 'rare mode) { Field visibleField = new Field(field); visibleField.Visibility = CommonEnumerations.VisibilitySetting.Visible; viewTemplate.Add(visibleField); } else { viewTemplate.Add(field); } } } } return viewTemplate; }
private static ViewTemplate MakeSampleInventory() { ViewTemplate f = new ViewTemplate(); f.Add(new Field(Field.FieldNames.EntryLexicalForm.ToString(), "LexEntry", new string[] {"xx", "yy"})); Field field = new Field(LexSense.WellKnownProperties.Gloss, "LexSense", new string[] {"zz"}); field.Enabled = false; //field.Visibility = CommonEnumerations.VisibilitySetting.Invisible; f.Add(field); return f; }
public override void Setup() { base.Setup(); _tempFolder = new TemporaryFolder(); _vernacularWritingSystem = WritingSystemDefinition.Parse(WritingSystemsIdsForTests.VernacularIdForTest); RtfRenderer.HeadWordWritingSystemId = _vernacularWritingSystem.Id; _filePath = _tempFolder.GetTemporaryFile(); _lexEntryRepository = new LexEntryRepository(_filePath); _analysisWritingSystemIds = new string[] { WritingSystemsIdsForTests.AnalysisIdForTest }; 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.SemanticDomainDdp4, "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)); 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(PalasoDataObject.WellKnownProperties.Note, "LexSense", _analysisWritingSystemIds); customNotesField.DisplayName = "s-note"; viewTemplate.Add(customNotesField); Field exampleNotesField = new Field(PalasoDataObject.WellKnownProperties.Note, "LexExampleSentence", _analysisWritingSystemIds); exampleNotesField.DisplayName = "ex-note"; viewTemplate.Add(exampleNotesField); _entryViewFactory = (() => new EntryViewControl()); DictionaryControl.Factory dictControlFactory = (memory => new DictionaryControl(_entryViewFactory, _lexEntryRepository, viewTemplate, memory, new StringLogger())); _task = new DictionaryTask(dictControlFactory, DictionaryBrowseAndEditConfiguration.CreateForTests("definition"), _lexEntryRepository, new TaskMemoryRepository()); //, 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(); }