private void moveUpButton_Click(object sender, System.EventArgs e) { if (CurrentListIndex < 0 || !m_choices.OkToMoveUp(CurrentListIndex)) { return; } InterlinLineSpec spec = m_choices[CurrentListIndex]; m_choices.MoveUp(CurrentListIndex); InitCurrentList(spec); }
public void MoveUp() { InterlinLineChoices choices = new InterlinLineChoices(m_lp, kwsVernInPara, kwsAnalysis); // To make it less confusing, here we add them in an order that does not produce // reordering. MakeStandardState(choices); // lit trans can move up Assert.IsFalse(choices.OkToMoveUp(0)); // words line already at toop Assert.IsTrue(choices.OkToMoveUp(1)); // non-edit, morphemes can move up, group goes too. Assert.IsTrue(choices.OkToMoveUp(2)); Assert.IsTrue(choices.OkToMoveUp(3)); Assert.IsTrue(choices.OkToMoveUp(4)); Assert.IsTrue(choices.OkToMoveUp(5)); // will move past whole morph bundle Assert.IsTrue(choices.OkToMoveUp(6)); Assert.IsFalse(choices.OkToMoveUp(7)); // free can't go anywhere Assert.IsTrue(choices.OkToMoveUp(8)); choices.MoveUp(1); // morphemes is now top Assert.AreEqual(InterlinLineChoices.kflidMorphemes, choices[0].Flid); // Word moved down to position 4 Assert.AreEqual(InterlinLineChoices.kflidWord, choices[4].Flid); // Lex Gloss (to pick just one) also moved up Assert.AreEqual(InterlinLineChoices.kflidLexGloss, choices[2].Flid); choices = new InterlinLineChoices(m_lp, kwsVernInPara, kwsAnalysis); MakeStandardState(choices); choices.MoveUp(2); // nothing complicated, two items changed place. Assert.AreEqual(InterlinLineChoices.kflidLexEntries, choices[1].Flid); Assert.AreEqual(InterlinLineChoices.kflidMorphemes, choices[2].Flid); choices = new InterlinLineChoices(m_lp, kwsVernInPara, kwsAnalysis); MakeStandardState(choices); choices.MoveUp(3); // nothing complicated, two items changed place. Assert.AreEqual(InterlinLineChoices.kflidLexGloss, choices[2].Flid); Assert.AreEqual(InterlinLineChoices.kflidLexEntries, choices[3].Flid); choices = new InterlinLineChoices(m_lp, kwsVernInPara, kwsAnalysis); MakeStandardState(choices); choices.MoveUp(5); // Moves past whole morpheme bundle Assert.AreEqual(InterlinLineChoices.kflidWordGloss, choices[1].Flid); Assert.AreEqual(InterlinLineChoices.kflidMorphemes, choices[2].Flid); Assert.AreEqual(InterlinLineChoices.kflidLexEntries, choices[3].Flid); choices = new InterlinLineChoices(m_lp, kwsVernInPara, kwsAnalysis); MakeStandardState(choices); choices.MoveUp(6); // nothing complicated, two items changed place. Assert.AreEqual(InterlinLineChoices.kflidWordPos, choices[5].Flid); Assert.AreEqual(InterlinLineChoices.kflidWordGloss, choices[6].Flid); choices = new InterlinLineChoices(m_lp, kwsVernInPara, kwsAnalysis); MakeStandardState(choices); choices.MoveUp(8); // nothing complicated, two items changed place. Assert.AreEqual(InterlinLineChoices.kflidLitTrans, choices[7].Flid); Assert.AreEqual(InterlinLineChoices.kflidFreeTrans, choices[8].Flid); }
public void MoveUp() { InterlinLineChoices choices = new InterlinLineChoices(0, kwsAnalysis); // To make it less confusing, here we add them in an order that does not produce // reordering. MakeStandardState(choices); // lit trans can move up Assert.IsFalse(choices.OkToMoveUp(0)); // words line already at toop Assert.IsTrue(choices.OkToMoveUp(1)); // non-edit, morphemes can move up, group goes too. Assert.IsTrue(choices.OkToMoveUp(2)); Assert.IsTrue(choices.OkToMoveUp(3)); Assert.IsTrue(choices.OkToMoveUp(4)); Assert.IsTrue(choices.OkToMoveUp(5)); // will move past whole morph bundle Assert.IsTrue(choices.OkToMoveUp(6)); Assert.IsFalse(choices.OkToMoveUp(7)); // free can't go anywhere Assert.IsTrue(choices.OkToMoveUp(8)); choices.MoveUp(1); // morphemes is now top Assert.AreEqual(InterlinLineChoices.kflidMorphemes, choices[0].Flid); // Word moved down to position 4 Assert.AreEqual(InterlinLineChoices.kflidWord, choices[4].Flid); // Lex Gloss (to pick just one) also moved up Assert.AreEqual(InterlinLineChoices.kflidLexGloss, choices[2].Flid); choices = new InterlinLineChoices(0, kwsAnalysis); MakeStandardState(choices); choices.MoveUp(2); // nothing complicated, two items changed place. Assert.AreEqual(InterlinLineChoices.kflidLexEntries, choices[1].Flid); Assert.AreEqual(InterlinLineChoices.kflidMorphemes, choices[2].Flid); choices = new InterlinLineChoices(0, kwsAnalysis); MakeStandardState(choices); choices.MoveUp(3); // nothing complicated, two items changed place. Assert.AreEqual(InterlinLineChoices.kflidLexGloss, choices[2].Flid); Assert.AreEqual(InterlinLineChoices.kflidLexEntries, choices[3].Flid); choices = new InterlinLineChoices(0, kwsAnalysis); MakeStandardState(choices); choices.MoveUp(5); // Moves past whole morpheme bundle Assert.AreEqual(InterlinLineChoices.kflidWordGloss, choices[1].Flid); Assert.AreEqual(InterlinLineChoices.kflidMorphemes, choices[2].Flid); Assert.AreEqual(InterlinLineChoices.kflidLexEntries, choices[3].Flid); choices = new InterlinLineChoices(0, kwsAnalysis); MakeStandardState(choices); choices.MoveUp(6); // nothing complicated, two items changed place. Assert.AreEqual(InterlinLineChoices.kflidWordPos, choices[5].Flid); Assert.AreEqual(InterlinLineChoices.kflidWordGloss, choices[6].Flid); choices = new InterlinLineChoices(0, kwsAnalysis); MakeStandardState(choices); choices.MoveUp(8); // nothing complicated, two items changed place. Assert.AreEqual(InterlinLineChoices.kflidLitTrans, choices[7].Flid); Assert.AreEqual(InterlinLineChoices.kflidFreeTrans, choices[8].Flid); }