blob: 79af2f5769144c0dad0f294922c361b61c835d46 [file] [log] [blame]
/*
* Copyright 2000-2014 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jetbrains.generate.tostring.inspection;
import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase;
import org.jetbrains.annotations.NonNls;
/**
* @author Bas Leijdekkers
*/
public class FieldNotUsedInToStringInspectionTest extends LightCodeInsightFixtureTestCase {
public void testBasic() {
doTest("class X {" +
" private int <warning descr=\"Field 'i' is not used in 'toString()' method\">i</warning> = 0;" +
" public String toString() {" +
" return null;" +
" }" +
"}");
}
public void testGetterUsed() {
doTest(" class ToStringTest3 {" +
"" +
" int number;" +
"" +
" public int getNumber() {" +
" return number;" +
" }" +
"" +
" @Override" +
" public String toString() {" +
" final StringBuilder sb = new StringBuilder();" +
" sb.append(\"ToStringTest3\");" +
" sb.append(\"{number=\").append(getNumber());" +
" sb.append('}');" +
" return sb.toString();" +
" }" +
"}");
}
public void testReflectionUsed() {
myFixture.addClass("package java.util;" +
"public class Objects {" +
" public static String toString(Object object) {" +
" return null;" +
" }" +
"}");
doTest("import java.util.Objects;" +
"class X {" +
" private int i = 0;" +
" " +
" public String toString() {" +
" return Objects.toString(this);" +
" }" +
"}");
}
private void doTest(@NonNls String text) {
myFixture.configureByText("X.java", text);
myFixture.enableInspections(new FieldNotUsedInToStringInspection());
myFixture.testHighlighting(true, false, false);
}
}