public void SpecialCases()
{
// Enhance JohnT: At some point we may want to intercept Sense.FullReferenceName, which uses HeadWord and
// outline sense number. This is not currently necessary because, although it is marked as a Viewable property,
// it is not currently used in the Dictionary view.
// Don't show pictures of unpublished senses.
int picsOfSensesFlid = Cache.MetaDataCacheAccessor.GetFieldId2(LexEntryTags.kClassId, "PicturesOfSenses", false);
Assert.That(Cache.DomainDataByFlid.get_VecSize(m_hot.Hvo, picsOfSensesFlid), Is.EqualTo(1));
Assert.That(m_decorator.get_VecSize(m_hot.Hvo, picsOfSensesFlid), Is.EqualTo(0));
// Sense.LexSenseOutline: sense 2 of hot is not published.
int senseOutlineFlid = Cache.MetaDataCacheAccessor.GetFieldId2(LexSenseTags.kClassId, "LexSenseOutline", false);
Assert.That(Cache.DomainDataByFlid.get_StringProp(m_desirable.Hvo, senseOutlineFlid).Text, Is.EqualTo("3"));
Assert.That(m_decorator.get_StringProp(m_desirable.Hvo, senseOutlineFlid).Text, Is.EqualTo("2"));
Assert.That(Cache.DomainDataByFlid.get_StringProp(m_fastCar.Hvo, senseOutlineFlid).Text, Is.EqualTo("3.1"));
Assert.That(m_decorator.get_StringProp(m_fastCar.Hvo, senseOutlineFlid).Text, Is.EqualTo("2.1"));
// Sense.MLOwnerOutlineName
int mlOwnerOutlineFlid = Cache.MetaDataCacheAccessor.GetFieldId2(LexSenseTags.kClassId, "MLOwnerOutlineName", false);
Assert.That(Cache.DomainDataByFlid.get_MultiStringAlt(m_desirable.Hvo, mlOwnerOutlineFlid, Cache.DefaultVernWs).Text, Is.EqualTo("hot 3"));
Assert.That(m_decorator.get_MultiStringAlt(m_desirable.Hvo, mlOwnerOutlineFlid, Cache.DefaultVernWs).Text, Is.EqualTo("hot 2"));
Assert.That(Cache.DomainDataByFlid.get_MultiStringAlt(m_fastCar.Hvo, mlOwnerOutlineFlid, Cache.DefaultVernWs).Text, Is.EqualTo("hot 3.1"));
Assert.That(m_decorator.get_MultiStringAlt(m_fastCar.Hvo, mlOwnerOutlineFlid, Cache.DefaultVernWs).Text, Is.EqualTo("hot 2.1"));
Assert.That(Cache.DomainDataByFlid.get_MultiStringAlt(m_blank2.SensesOS[0].Hvo, mlOwnerOutlineFlid, Cache.DefaultVernWs).Text,
Is.EqualTo("blank2"));
Assert.That(m_decorator.get_MultiStringAlt(m_blank2.SensesOS[0].Hvo, mlOwnerOutlineFlid, Cache.DefaultVernWs).Text,
Is.EqualTo("blank1"));
// Entry.PublishAsMinorEntry
int publishAsMinorEntryFlid = Cache.MetaDataCacheAccessor.GetFieldId2(LexEntryTags.kClassId, "PublishAsMinorEntry", false);
Assert.That(Cache.DomainDataByFlid.get_BooleanProp(m_hotBlank.Hvo, publishAsMinorEntryFlid), Is.True);
Assert.That(m_decorator.get_BooleanProp(m_hotBlank.Hvo, publishAsMinorEntryFlid), Is.False);
Assert.That(m_decorator.get_BooleanProp(m_hotWater.Hvo, publishAsMinorEntryFlid), Is.True);
}