public void LexEntriesComboHandler_IndexOfCurrentInflVariant_NoInflTypeChosen()
{
using (var sandbox = SetupSandbox(() =>
{
const string wff = "variantEntry";
var mockText = MakeText(wff);
var wf = MakeWordform(wff);
var wa = MakeAnalysis(wf);
var options = new MakeBundleOptions();
options.LexEntryForm = wff;
options.MakeMorph = (mff) =>
{
Guid slotType = GetSlotType(mff);
IMoMorphSynAnalysis msa1;
const string mainEntryForm = "mainEntry";
var mainEntry = MakeEntry(mainEntryForm.Replace("-", ""), "V:(Imperative)", slotType, out msa1);
var mainSense = MakeSense(mainEntry, "mainGloss", msa1);
IMoMorphSynAnalysis msa2;
var variantEntry = MakeEntry(mff.Replace("-", ""), "V:(Imperative)", slotType, out msa2);
var letPlural =
Cache.ServiceLocator.GetInstance<ILexEntryInflTypeRepository>().GetObject(
LexEntryTypeTags.kguidLexTypPluralVar);
letPlural.GlossAppend.set_String(Cache.DefaultAnalWs, "pl");
variantEntry.MakeVariantOf(mainSense, letPlural);
return variantEntry.LexemeFormOA;
};
options.MakeSense = (entry) =>
{
var entryRef = entry.EntryRefsOS.First();
return entryRef.ComponentLexemesRS.First() as ILexSense;
};
options.MakeMsa = (sense) => { return sense.MorphoSyntaxAnalysisRA; };
var wmb = MakeBundle(wa, options);
var para = (IStTxtPara)mockText.ContentsOA.ParagraphsOS[0];
var seg = para.SegmentsOS[0];
seg.AnalysesRS.Add(wa);
return new AnalysisOccurrence(seg, 0);
}))
{
var initialAnalysisStack = sandbox.CurrentAnalysisTree;
using (var handler = GetComboHandler(sandbox, InterlinLineChoices.kflidLexEntries, 0) as SandboxBase.IhMissingEntry)
{
var imorphItemCurrentSandboxState = handler.IndexOfCurrentItem;
Assert.That(imorphItemCurrentSandboxState, Is.EqualTo(-1));
/*
var items = handler.MorphItems;
var miCurrentSandboxState = items[imorphItemCurrentSandboxState];
// WfiMorphBundle.InflType hasn't been set yet, so we shouldn't return a value;
Assert.That(miCurrentSandboxState.m_inflType, Is.Null);
Assert.That(miCurrentSandboxState.m_hvoMorph,
Is.EqualTo(initialAnalysisStack.WfiAnalysis.MorphBundlesOS[0].MorphRA.Hvo));
Assert.That(miCurrentSandboxState.m_hvoSense,
Is.EqualTo(initialAnalysisStack.WfiAnalysis.MorphBundlesOS[0].SenseRA.Hvo));
Assert.That(miCurrentSandboxState.m_hvoMsa,
Is.EqualTo(initialAnalysisStack.WfiAnalysis.MorphBundlesOS[0].MsaRA.Hvo));
Assert.That(miCurrentSandboxState.m_hvoMainEntryOfVariant, Is.EqualTo(initialAnalysisStack.WfiAnalysis.MorphBundlesOS[0].SenseRA.Entry.Hvo));
var variantEntry = initialAnalysisStack.WfiAnalysis.MorphBundlesOS[0].MorphRA.Owner as ILexEntry;
var variantType = variantEntry.VariantEntryRefs.First().VariantEntryTypesRS.First();
*/
}
}
}