@@ -700,6 +700,66 @@ public void testTargetPropertyReferencesTargetParameter() {
700700 } );
701701 }
702702
703+ public void testTargetWithCollectionGetterMapper () {
704+ configureByTestName ();
705+ assertThat ( myItems )
706+ .extracting ( LookupElement ::getLookupString )
707+ .containsExactlyInAnyOrder (
708+ "myStringList" ,
709+ "myStringSet"
710+ );
711+
712+ assertThat ( myItems )
713+ .extracting ( LookupElementPresentation ::renderElement )
714+ .usingRecursiveFieldByFieldElementComparator ()
715+ .containsExactlyInAnyOrder (
716+ createVariable ( "myStringList" , "List<String>" ),
717+ createVariable ( "myStringSet" , "Set<String>" )
718+ );
719+
720+ PsiElement reference = myFixture .getElementAtCaret ();
721+ assertThat ( reference )
722+ .isInstanceOfSatisfying (
723+ PsiMethod .class , method -> {
724+ assertThat ( method .getName () ).isEqualTo ( "getMyStringList" );
725+ assertThat ( method .getPresentation () ).isNotNull ();
726+ assertThat ( method .getPresentation ().getPresentableText () ).isEqualTo ( "getMyStringList()" );
727+ assertThat ( method .getParameterList ().getParametersCount () ).isEqualTo ( 0 );
728+ assertThat ( method .getReturnType () ).isNotNull ();
729+ assertThat ( method .getReturnType ().getPresentableText () ).isEqualTo ( "List<String>" );
730+ }
731+ );
732+ }
733+
734+ public void testTargetWithMapGetterMapper () {
735+ configureByTestName ();
736+ assertThat ( myItems )
737+ .extracting ( LookupElement ::getLookupString )
738+ .containsExactlyInAnyOrder (
739+ "myMap"
740+ );
741+
742+ assertThat ( myItems )
743+ .extracting ( LookupElementPresentation ::renderElement )
744+ .usingRecursiveFieldByFieldElementComparator ()
745+ .containsExactlyInAnyOrder (
746+ createVariable ( "myMap" , "Map<String, String>" )
747+ );
748+
749+ PsiElement reference = myFixture .getElementAtCaret ();
750+ assertThat ( reference )
751+ .isInstanceOfSatisfying (
752+ PsiMethod .class , method -> {
753+ assertThat ( method .getName () ).isEqualTo ( "getMyMap" );
754+ assertThat ( method .getPresentation () ).isNotNull ();
755+ assertThat ( method .getPresentation ().getPresentableText () ).isEqualTo ( "getMyMap()" );
756+ assertThat ( method .getParameterList ().getParametersCount () ).isEqualTo ( 0 );
757+ assertThat ( method .getReturnType () ).isNotNull ();
758+ assertThat ( method .getReturnType ().getPresentableText () ).isEqualTo ( "Map<String, String>" );
759+ }
760+ );
761+ }
762+
703763 public void testCarMapperReferenceBooleanSourceCar () {
704764 myFixture .configureByFile ( "CarMapperReferenceBooleanSourceCar.java" );
705765 PsiElement reference = myFixture .getElementAtCaret ();
0 commit comments