Exemple #1
0
 public void CreateWithInventory()
 {
     using (EntryViewControl entryViewControl = new EntryViewControl())
     {
         Assert.IsNotNull(entryViewControl);
     }
 }
Exemple #2
0
 public void NullDataSource_ShowsEmpty()
 {
     using (EntryViewControl entryViewControl = CreateForm(null, false))
     {
         Assert.AreEqual(string.Empty, entryViewControl.TextContentsOfPreviewForTests);
     }
 }
        public void EmptyProperitesRemovedAfterEditting()
        {
            AddInitialEntries();
            EntryViewControl parentControl =
                ((DictionaryControl)_task.Control).Control_EntryDetailPanel;
            LexEntry entry = parentControl.DataSource;

            Assert.Less(0,
                        entry.Properties.Count,
                        "the setup of this test should have some custom properties");
            TextBoxTester t = new TextBoxTester(GetLexicalFormControlName(), _window);

            t.Enter("test");
            Assert.Less(0,
                        entry.Properties.Count,
                        "the setup of this test should have some custom properties");

            //cycle out this record
            parentControl.DataSource = _lexEntryRepository.CreateItem();

            Assert.AreEqual(0, entry.Properties.Count);
#if GlossMeaning
            Assert.AreEqual(0, entry.Senses[0].Properties.Count);
#else
            Assert.AreEqual(1, entry.Senses[0].Properties.Count);
            Assert.AreEqual(LexSense.WellKnownProperties.Definition,
                            entry.Senses[0].Properties[0].Key);
#endif
        }
        private LexEntry GetCurrentEntry()
        {
            EntryViewControl parentControl =
                ((DictionaryControl)_task.Control).Control_EntryDetailPanel;

            return(parentControl.DataSource);
        }
        public void DeleteWordWhenEvenHasCleanup_Regression()
        {
            AddInitialEntries();
            ClickAddWord();
            int before = _lexEntryRepository.CountAllItems();

            EntryViewControl parentControl =
                ((DictionaryControl)_task.Control).Control_EntryDetailPanel;
            LexEntry     entry = parentControl.DataSource;
            const string form  = "xx";

            entry.LexicalForm.SetAlternative(_vernacularWritingSystem.Id, form);
            GoToLexicalEntryUseFind("Initial");        //go away
            GoToLexicalEntryUseFind(form);             //come back

            var item2 = new KeyValuePair <string, IPalasoDataObjectProperty>("test", new LexRelation("b", "bbb", entry));

            entry.Properties.Add(item2);

            GetEditControl("*EntryLexicalForm").FocusOnFirstWsAlternative();
            DeleteWord();
            Assert.AreEqual(before - 1, _lexEntryRepository.CountAllItems());
            // GoToLexicalEntryUseFind(form); should fail to find it

            AssertExistenceOfEntryInList(form, false);
        }
Exemple #6
0
        public void FormattedView_ChangeRecordThenBack_NothingHighlighted()
        {
            using (
                EntryViewControl entryViewControl = CreateFilteredForm(apple,
                                                                       Field.FieldNames.
                                                                       EntryLexicalForm.
                                                                       ToString(),
                                                                       "LexEntry",
                                                                       WritingSystemsIdsForTests.VernacularIdForTest)
                )
            {
                //entryViewControl.ControlFormattedView.Select();
                string rtfAppleNothingHighlighted = entryViewControl.RtfContentsOfPreviewForTests;

                DetailList entryDetailControl = entryViewControl.ControlEntryDetail;
                Control    editControl        = entryDetailControl.GetEditControlFromRow(0);

                //JDH added after we added multiple ws's per field. Was: editControl.Select();
                ((MultiTextControl)editControl).TextBoxes[0].Select();

                Assert.AreNotEqual(rtfAppleNothingHighlighted,
                                   entryViewControl.RtfContentsOfPreviewForTests);

                entryViewControl.DataSource = banana;
                entryViewControl.DataSource = apple;
                //            Debug.WriteLine("Expected: "+rtfAppleNothingHighlighted);
                //            Debug.WriteLine("Actual:" + lexFieldControl.RtfContentsOfPreviewForTests);
                Assert.AreEqual(rtfAppleNothingHighlighted,
                                entryViewControl.RtfContentsOfPreviewForTests);
            }
        }
Exemple #7
0
 public void SenseExistsAndButtonIsInActive_SenseDeleteClicked_FieldNumberIsSame()
 {
     using (EntryViewControl entryViewControl = CreateForm(apple, false))
     {
         entryViewControl.SenseDeletionEnabled = true;
         Assert.AreEqual(6, entryViewControl.ControlEntryDetail.RowCount);
         DeleteButton deleteButton = GetDeletebutton(entryViewControl.ControlEntryDetail, "Meaning 1");
         deleteButton.PerformClick();
         Assert.AreEqual(6, entryViewControl.ControlEntryDetail.RowCount);
     }
 }
Exemple #8
0
 public void SenseExistsAndButtonIsInActive_SenseDeleteClicked_SenseIsNotRemovedFromEntry()
 {
     using (EntryViewControl entryViewControl = CreateForm(apple, false))
     {
         entryViewControl.SenseDeletionEnabled = true;
         Assert.AreEqual(1, apple.Senses.Count);
         DeleteButton deleteButton = GetDeletebutton(entryViewControl.ControlEntryDetail, "Meaning 1");
         deleteButton.PerformClick();
         Assert.AreEqual(1, apple.Senses.Count);
     }
 }
Exemple #9
0
 private void TestEntryShows(LexEntry entry)
 {
     using (EntryViewControl entryViewControl = CreateForm(entry, false))
     {
         Assert.IsTrue(
             entryViewControl.RtfContentsOfPreviewForTests.Contains(GetLexicalForm(entry)));
         Assert.IsTrue(entryViewControl.RtfContentsOfPreviewForTests.Contains(GetMeaning(entry)));
         Assert.IsTrue(
             entryViewControl.RtfContentsOfPreviewForTests.Contains(GetExampleSentence(entry)));
     }
 }
Exemple #10
0
 public void EditField_SingleControlWithGhost()
 {
     using (EntryViewControl entryViewControl = CreateFilteredForm(
                apple,
                _primaryMeaningFieldName,
                "LexSense",
                WritingSystemsIdsForTests.AnalysisIdForTest
                ))
     {
         Assert.AreEqual(3, entryViewControl.ControlEntryDetail.RowCount);
     }
 }
Exemple #11
0
        public void FormattedView_ShowsPartOfSpeech()
        {
            LexSense  sense = apple.Senses[0];
            OptionRef o;

            o       = sense.GetOrCreateProperty <OptionRef>("POS");
            o.Value = "Noun";
            //nb: this is the key, which for noun happens to be the English display name tested for below
            using (EntryViewControl entryViewControl = CreateForm(apple, false))
            {
                Assert.IsTrue(entryViewControl.RtfContentsOfPreviewForTests.Contains("noun"));
                Assert.IsFalse(entryViewControl.RtfContentsOfPreviewForTests.Contains("nombre"));
            }
        }
Exemple #12
0
        private void SetupEntryViewControl(EntryViewControl.Factory factory)
        {
            this._entryViewControl = factory();
            this.panelDetail.Controls.Add(this._entryViewControl);

            this._entryViewControl.Dock = System.Windows.Forms.DockStyle.Fill;
            this._entryViewControl.Name = "_entryViewControl";
            this._entryViewControl.ShowNormallyHiddenFields = false;
            this._entryViewControl.TabIndex = 0;

            //TODO: remove these, move to ctor
            Control_EntryDetailPanel.ViewTemplate       = _viewTemplate;
            Control_EntryDetailPanel.LexEntryRepository = _lexEntryRepository;
            _entryViewControl.SenseDeletionEnabled      = true;
        }
Exemple #13
0
        private EntryViewControl CreateForm(LexEntry entry, bool requiresVisibleForm)
        {
            EntryViewControl entryViewControl = new EntryViewControl(() => new EntryHeaderView(), () => new TestConfirmDelete());

            entryViewControl.LexEntryRepository = _lexEntryRepository;
            entryViewControl.ViewTemplate       = _viewTemplate;
            entryViewControl.DataSource         = entry;

            if (requiresVisibleForm)
            {
                Form window = new Form();
                window.Controls.Add(entryViewControl);
                window.Show();
            }
            return(entryViewControl);
        }
Exemple #14
0
 public void EditField_Change_DisplayedInFormattedView()
 {
     using (
         EntryViewControl entryViewControl = CreateFilteredForm(apple,
                                                                Field.FieldNames.
                                                                EntryLexicalForm.
                                                                ToString(),
                                                                "LexEntry",
                                                                WritingSystemsIdsForTests.VernacularIdForTest)
         )
     {
         DetailList       entryDetailControl = entryViewControl.ControlEntryDetail;
         MultiTextControl editControl        =
             (MultiTextControl)entryDetailControl.GetEditControlFromRow(0);
         editControl.TextBoxes[0].Text = "test";
         Assert.IsTrue(entryViewControl.RtfContentsOfPreviewForTests.Contains("test"));
     }
 }
Exemple #15
0
 private void EnsureField_Change_UpdatesSenseMeaning(LexEntry entry)
 {
     using (EntryViewControl entryViewControl = CreateFilteredForm(
                entry,
                _primaryMeaningFieldName,
                "LexSense",
                WritingSystemsIdsForTests.AnalysisIdForTest
                ))
     {
         DetailList entryDetailControl = entryViewControl.ControlEntryDetail;
         Label      labelControl       = entryDetailControl.GetLabelControlFromRow(0);
         Assert.AreEqual("Meaning 1", labelControl.Text);
         MultiTextControl editControl =
             (MultiTextControl)entryDetailControl.GetEditControlFromRow(0);
         editControl.TextBoxes[0].Focus();
         editControl.TextBoxes[0].Text = "test";
         entryDetailControl.GetEditControlFromRow(2).Focus();
         Assert.IsTrue(editControl.TextBoxes[0].Text.Contains(GetMeaning(entry)));
     }
 }
Exemple #16
0
        public void EditField_RemoveContents_RemovesSense()
        {
            LexEntry meaningOnly = CreateTestEntry("word", "meaning", "");

            using (EntryViewControl entryViewControl = CreateForm(meaningOnly, true))
            {
                MultiTextControl editControl = GetEditControl(entryViewControl.ControlEntryDetail,
                                                              "Meaning 1");
                editControl.TextBoxes[0].Focus();
                editControl.TextBoxes[0].Text = "";
                entryViewControl.ControlEntryDetail.GetEditControlFromRow(0).Focus();
                Application.DoEvents();
                Thread.Sleep(1000);
                Application.DoEvents();

                Assert.IsTrue(
                    GetEditControl(entryViewControl.ControlEntryDetail, "Meaning").Name.Contains
                        ("ghost"),
                    "Only ghost should remain");
            }
        }
Exemple #17
0
        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);
        }
Exemple #18
0
        public void FormattedView_FocusInControl_Displayed()
        {
            using (
                EntryViewControl entryViewControl = CreateFilteredForm(apple,
                                                                       Field.FieldNames.
                                                                       EntryLexicalForm.
                                                                       ToString(),
                                                                       "LexEntry",
                                                                       WritingSystemsIdsForTests.VernacularIdForTest)
                )
            {
                // entryViewControl.ControlFormattedView.Select();
                string rtfOriginal = entryViewControl.RtfContentsOfPreviewForTests;

                DetailList entryDetailControl = entryViewControl.ControlEntryDetail;
                Control    editControl        = entryDetailControl.GetEditControlFromRow(0);

                //JDH added after we added multiple ws's per field. Was: editControl.Select();
                ((MultiTextControl)editControl).TextBoxes[0].Select();

                Assert.AreNotEqual(rtfOriginal, entryViewControl.RtfContentsOfPreviewForTests);
            }
        }
		private EntryViewControl CreateForm(LexEntry entry, bool requiresVisibleForm)
		{
			EntryViewControl entryViewControl = new EntryViewControl();
			entryViewControl.LexEntryRepository = _lexEntryRepository;
			entryViewControl.ViewTemplate = _viewTemplate;
			entryViewControl.DataSource = entry;

			if(requiresVisibleForm)
			{
				Form window = new Form();
				window.Controls.Add(entryViewControl);
				window.Show();
			}
			return entryViewControl;
		}
		public void CreateWithInventory()
		{
			using (EntryViewControl entryViewControl = new EntryViewControl())
			{
				Assert.IsNotNull(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;
		}