testdata for IDEA-147511
[idea/community.git] / java / java-tests / testSrc / com / intellij / codeInsight / daemon / lambda / NewMethodRefHighlightingTest.java
1 /*
2  * Copyright 2000-2014 JetBrains s.r.o.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 package com.intellij.codeInsight.daemon.lambda;
17
18 import com.intellij.codeInsight.daemon.LightDaemonAnalyzerTestCase;
19 import com.intellij.codeInspection.LocalInspectionTool;
20 import com.intellij.codeInspection.deadCode.UnusedDeclarationInspection;
21 import com.intellij.codeInspection.uncheckedWarnings.UncheckedWarningLocalInspection;
22 import com.intellij.openapi.projectRoots.JavaSdkVersion;
23 import com.intellij.openapi.projectRoots.Sdk;
24 import com.intellij.testFramework.IdeaTestUtil;
25 import org.jetbrains.annotations.NonNls;
26 import org.jetbrains.annotations.NotNull;
27
28 public class NewMethodRefHighlightingTest extends LightDaemonAnalyzerTestCase {
29   @NonNls static final String BASE_PATH = "/codeInsight/daemonCodeAnalyzer/lambda/newMethodRef";
30
31   @Override
32   protected void setUp() throws Exception {
33     super.setUp();
34     enableInspectionTool(new UnusedDeclarationInspection());
35   }
36
37   @NotNull
38   @Override
39   protected LocalInspectionTool[] configureLocalInspectionTools() {
40     return new LocalInspectionTool[]{
41       new UncheckedWarningLocalInspection()
42     };
43   }
44
45   public void testIDEA93587() throws Exception {
46     doTest(true);
47   }
48   
49   public void testIDEA106522() throws Exception {
50     doTest();
51   }
52   
53   public void testIDEA112574() throws Exception {
54     doTest();
55   }
56   
57   public void testIDEA113558() throws Exception {
58     doTest(true);
59   }
60
61   public void testAfterDistinctOps() throws Exception {
62     doTest(true);
63   }
64
65   public void testWildcardReturns() throws Exception {
66     doTest(false);
67   }
68
69   public void testInexactMethodReferencePrimitiveBound() throws Exception {
70     doTest(false);
71   }
72
73   public void testAfterCollectors1() throws Exception {
74     doTest(false);
75   }
76
77   public void testAfterCollectors2() throws Exception {
78     doTest(false);
79   }
80
81   public void testIDEA116359() throws Exception {
82     doTest(false);
83   }
84
85   public void testAfterSliceOps() throws Exception {
86     doTest(false);
87   }
88
89   public void testAssertNumberOfParameters() throws Exception {
90     doTest(false);
91   }
92
93   public void testGenericArrayCreation() throws Exception {
94     doTest(true);
95   }
96
97   public void testWildcardsInClassTypeQualifier() throws Exception {
98     doTest();
99   }
100
101   public void testRawConstructorReferenceWithTypeParams() throws Exception {
102     doTest();
103   }
104
105   public void testCheckReturnTypeForExactRefs() throws Exception {
106     doTest();
107   }
108
109   public void testPotentialApplicability() throws Exception {
110     doTest();
111   }
112
113   public void testLiftMethodReferenceTypeParams() throws Exception {
114     doTest();
115   }
116
117   public void testHighlightReferenceWhenContradictBoundsAreInferred() throws Exception {
118     doTest();
119   }
120
121   public void testAfterBounds() throws Exception {
122     doTest();
123   }
124
125   public void testIncludeContainingClassParamsInResolveSetForConstructorRefs() throws Exception {
126     doTest();
127   }
128
129   public void testContainingClassTypeParamsForBounds() throws Exception {
130     doTest();
131   }
132
133   public void testCapturingReturnValue() throws Exception {
134     doTest();
135   }
136
137   public void testIDEA117311() throws Exception {
138     doTest();
139   }
140
141   public void testDeepWildcardEliminating() throws Exception {
142     doTest();
143   }
144
145   public void _testLambdaExercise() throws Exception {
146     doTest();
147   }
148
149   public void testIDEA118437() throws Exception {
150     doTest();
151   }
152
153   public void testIDEA113297() throws Exception {
154     doTest();
155   }
156
157   public void testIDEA120376() throws Exception {
158     doTest();
159   }
160
161   public void testIDEA120370() throws Exception {
162     doTest();
163   }
164
165   public void testExcludeContainingClassTypeParamsFromInference() throws Exception {
166     doTest();
167   }
168
169   public void testEnsureTypeParametersAreNotModifiedDuringGroundTypeEvaluation() throws Exception {
170     doTest();
171   }
172
173   public void testIncorrectArrayCreationSignature() throws Exception {
174     doTest();
175   }
176
177   public void testRawTargetType() throws Exception {
178     doTest();
179   }
180
181   public void testReturnTypeCheckForRawReceiver() throws Exception {
182     doTest();
183   }
184
185   public void testStaticNonStaticReferenceTypeAmbiguity() throws Exception {
186     doTest();
187   }
188
189   public void testSuperClassPotentiallyApplicableMembers() throws Exception {
190     doTest();
191   }
192
193   public void testExactMethodReferencePertinentToApplicabilityCheck() throws Exception {
194     doTest();
195   }
196
197   public void testAmbiguityVarargs() throws Exception {
198     doTest();
199   }
200
201   public void testRawInnerClassQualifier() throws Exception {
202     doTest();
203   }
204
205   public void testIDEA122100() throws Exception {
206     doTest();
207   }
208
209   public void testIDEA122509() throws Exception {
210     doTest();
211   }
212
213   public void testIDEA122681() throws Exception {
214     doTest();
215   }
216
217   public void testIDEA112191() throws Exception {
218     doTest();
219   }
220
221   public void testIDEA122018comment() throws Exception {
222     doTest();
223   }
224
225   public void testIDEA123223() throws Exception {
226     doTest();
227   }
228
229   public void testIDEA123248() throws Exception {
230     doTest();
231   }
232
233   public void testIDEA123366() throws Exception {
234     doTest();
235   }
236
237   public void testIDEA123366comment() throws Exception {
238     doTest();
239   }
240
241   public void testFromReferenceWithTypeArgs() throws Exception {
242     doTest();
243   }
244
245   public void testRefOnStaticInterfaceMethod() throws Exception {
246     doTest();
247   }
248
249   public void testUncheckedMethodReference() throws Exception {
250     doTest(true);
251   }
252
253   public void testIDEA124148() throws Exception {
254     doTest();
255   }
256
257   public void testIDEA124613() throws Exception {
258     doTest();
259   }
260
261   public void testCollectingApplicabilityConstraints() {
262     doTest();
263   }
264
265   public void testIDEA126062() {
266     doTest();
267   }
268
269   public void testRejectReceiverTypesForConstructorRefs() {
270     doTest();
271   }
272
273   public void testEnumValuesMethod() throws Exception {
274     doTest();
275   }
276
277   public void testMissedApplicableMemberContainingClassSubstitution() throws Exception {
278     doTest();
279   }
280
281   public void testIDEA126969() throws Exception {
282     doTest();
283   }
284
285   public void testIDEA127506() throws Exception {
286     doTest();
287   }
288
289   public void testIDEA127275() throws Exception {
290     doTest();
291   }
292
293   public void testIDEA127275_() throws Exception {
294     doTest();
295   }
296
297   public void testUnresolvedMethodReference() throws Exception {
298     doTest();
299   }
300
301   public void testIDEA128534() throws Exception {
302     doTest();
303   }
304
305   public void testIDEA128712() throws Exception {
306     doTest();
307   }
308
309   public void testAdditionalConstraints3Level() throws Exception {
310     doTest();
311   }
312
313   public void testWildcardParametrization() throws Exception {
314     doTest();
315   }
316
317   public void testReceiverTypeSubstitution() throws Exception {
318     doTest();
319   }
320
321   public void testTypeParametersInitOrder() throws Exception {
322     doTest();
323   }
324
325   public void testIDEA132560() throws Exception {
326     doTest();
327   }
328
329   public void testEnsureThatCapturedWildcardsAreNotOpenWithoutAnyReason() throws Exception {
330     doTest();
331   }
332
333   public void testVarargsParametersCountComparison() throws Exception {
334     doTest(true);
335   }
336
337   public void testPotentialCompatibilityWithInvalidShape() throws Exception {
338     doTest(true);
339   }
340
341   public void testSiteSubstitutionOfNonReceiverReference() throws Exception {
342     doTest();
343   }
344
345   public void testRawReferenceTypeWithReceiver() throws Exception {
346     doTest();
347   }
348
349   public void testMethodReferenceTypeArgumentsApplicability() throws Exception {
350     doTest();
351   }
352
353   public void testTypeNameInterfaceSuperMethodReferenceApplicability() throws Exception {
354     doTest();
355   }
356
357   public void testNewParameterizedReferenceOnRawType() throws Exception {
358     doTest();
359   }
360
361   public void testArrayTypeNewReifiable() throws Exception {
362     doTest();
363   }
364
365   public void testReturnTypeApplocabilityIfCapturedWildcardInferred() throws Exception {
366     doTest();
367   }
368
369   public void testIDEA133935() throws Exception {
370     doTest();
371   }
372
373   public void testIDEA132379() throws Exception {
374     doTest();
375   }
376
377   public void testIDEA136581() throws Exception {
378     doTest();
379   }
380
381   public void testSuperSubstitutorInNormalCase() throws Exception {
382     doTest(false);
383   }
384
385   public void testSecondSearchIfFirstParameterIsASubtypeOfReferenceTypeFromExpressionDeclaration() throws Exception {
386     doTest();
387   }
388
389   public void testEnsureNotResolvedMethodRefsAreNotMarkedAsExact() throws Exception {
390     doTest();
391   }
392
393   public void testReceiverSubstitutorForExactReferenceInMethodReferenceConstraint() throws Exception {
394     doTest();
395   }
396
397   public void testSkipCheckedExceptionsHandledByInterfaceMethod() throws Exception {
398     doTest();
399   }
400
401   public void testConstraintsFromNonRawReceiverType() throws Exception {
402     doTest();
403   }
404
405   public void testSubstitutionForReturnTypeConstraintsForTargetGenericMethod() throws Exception {
406     doTest();
407   }
408
409   public void testIDEA140586() throws Exception {
410     doTest();
411   }
412
413   public void testUnhandledExceptionsInQualifier() throws Exception {
414     doTest();
415   }
416
417   public void testRawClassTypeOnConstructorReference() throws Exception {
418     doTest();
419   }
420
421   public void testIncompleteCodeWithMethodReferenceOverLambdaParameter() throws Exception {
422     doTest();
423   }
424
425   public void testIncompleteMethodReferenceWithUncheckedWarningInspection() throws Exception {
426     doTest();
427   }
428
429   public void testCapturedReturnTypeOfMethodReference() throws Exception {
430     doTest();
431   }
432
433   public void testEnumConstantsAsContext() throws Exception {
434     doTest();
435   }
436
437   public void testIDEA138752() throws Exception {
438     doTest();
439   }
440
441   public void testIDEA136708() throws Exception {
442     doTest();
443   }
444
445   public void testContainingClassTypeParametersShouldNotBeInferredDuringMethodReferenceProcessing() throws Exception {
446     doTest();
447   }
448
449   public void testIDEA147511() throws Exception {
450     doTest();
451   }
452
453   private void doTest() {
454     doTest(false);
455   }
456
457   private void doTest(boolean warnings) {
458     IdeaTestUtil.setTestVersion(JavaSdkVersion.JDK_1_8, getModule(), getTestRootDisposable());
459     doTest(BASE_PATH + "/" + getTestName(false) + ".java", warnings, false);
460   }
461
462   @Override
463   protected Sdk getProjectJDK() {
464     return IdeaTestUtil.getMockJdk18();
465   }
466 }