SIL.FieldWorks.IText.SandboxBaseTests.LexEntriesComboHandler_IndexOfCurrentInflVariant_NoInflTypeChosen C# (CSharp) Method

LexEntriesComboHandler_IndexOfCurrentInflVariant_NoInflTypeChosen() private method

		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();
					 */
				}
			}
		}