@RunsInEdt
@Test
public void testFindPossibleValues() {

  Dependencies.INSTANCE.add(myProjectRule.fixture, APPCOMPAT_LIB_ARTIFACT_ID);
  NlComponent textView = myLayout.getChild(0);
  NlPropertyItem property = NlPropertyItem.create(new XmlName(ATTR_STYLE, ANDROID_URI), null, ImmutableList.of(textView), null);
  TextAppearanceEnumSupport support = new TextAppearanceEnumSupport(property);
  List<ValueWithDisplayString> values = support.getAllValues();
  assertThat(values.subList(0, 7)).containsExactly(
    new ValueWithDisplayString("MyOwnStyle", "@style/MyOwnStyle"),
    new ValueWithDisplayString("MyOwnStyle.Medium", "@style/MyOwnStyle.Medium"),
    new ValueWithDisplayString("TextAppearance", "@style/TextAppearance"),
    ValueWithDisplayString.SEPARATOR,
    new ValueWithDisplayString("AppCompat", "@style/TextAppearance.AppCompat"),
    new ValueWithDisplayString("AppCompat.Body1", "@style/TextAppearance.AppCompat.Body1"),
    new ValueWithDisplayString("AppCompat.Body2", "@style/TextAppearance.AppCompat.Body2")).inOrder();
  assertThat(support.getAllValues()).containsAllOf(
    new ValueWithDisplayString("TextAppearance", "@android:style/TextAppearance"),
    new ValueWithDisplayString("Material", "@android:style/TextAppearance.Material"),
    new ValueWithDisplayString("Material.Small", "@android:style/TextAppearance.Material.Small"),
    new ValueWithDisplayString("AppCompat", "@style/TextAppearance.AppCompat"),
    new ValueWithDisplayString("AppCompat.Display1", "@style/TextAppearance.AppCompat.Display1"),
    new ValueWithDisplayString("AppCompat.Display2", "@style/TextAppearance.AppCompat.Display2"),
    new ValueWithDisplayString("AppCompat.Display3", "@style/TextAppearance.AppCompat.Display3"),
    new ValueWithDisplayString("AppCompat.Display4", "@style/TextAppearance.AppCompat.Display4"),
    new ValueWithDisplayString("Widget.TextView", "@android:style/TextAppearance.Widget.TextView"));
}