blob: 9ebe01b127dc7c9171cf6799a8d5ba7ed99f3224 [file] [log] [blame]
package com.jetbrains.python.refactoring.classes;
import com.intellij.psi.PsiElement;
import com.intellij.util.text.Matcher;
import com.jetbrains.python.fixtures.PyTestCase;
import com.jetbrains.python.psi.*;
import org.hamcrest.Matchers;
import org.junit.Assert;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
/**
* @author Ilya.Kazakevich
*/
public class PyDependenciesComparatorTest extends PyTestCase {
public void test() {
myFixture.configureByFile("/refactoring/dependenciesTest.py");
final PyClass clazz = getClassByName("Foo");
@SuppressWarnings("ConstantConditions") // Can't be null (class has docstring)
PsiElement docStringExpression = clazz.getDocStringExpression().getParent();
PyFunction method = clazz.getMethods()[0];
PsiElement classField = clazz.getClassAttributes().get(0).getParent();
final List<PyStatement> elementList = new ArrayList<PyStatement>();
elementList.addAll(Arrays.asList(clazz.getStatementList().getStatements()));
Collections.sort(elementList, PyDependenciesComparator.INSTANCE);
Assert.assertThat("Members returned in wrong order", elementList, Matchers.contains(
docStringExpression, classField, method
));
}
}