Skip to content

Commit

Permalink
Test support classes for the last commit
Browse files Browse the repository at this point in the history
  • Loading branch information
groves committed Jan 25, 2009
1 parent 73583d8 commit 2a9c00f
Show file tree
Hide file tree
Showing 10 changed files with 72 additions and 0 deletions.
9 changes: 9 additions & 0 deletions tests/java/org/python/tests/mro/ConfusedOnGetitemAdd.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package org.python.tests.mro;

/**
* If {@link GetitemAdder#addPredefined} is called, this class is imported, then
* {@link GetitemAdder#addPostdefined} is called, the call to postdefined should raise a TypeError
* as this class produces a MRO conflict between {@link FirstPredefinedGetitem} and
* {@link PostdefinedGetitem}.
*/
public interface ConfusedOnGetitemAdd extends FirstAndPost, PostAndFirst {}
8 changes: 8 additions & 0 deletions tests/java/org/python/tests/mro/ConfusedOnImport.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package org.python.tests.mro;

/**
* {@link GetitemAdder#addPredefined} is expected to be called before this class is imported. If
* that's happened, there's a MRO conflict between {@link FirstPredefinedGetitem} and
* {@link SecondPredefinedGetitem}, so importing this should cause a TypeError.
*/
public class ConfusedOnImport implements FirstAndSecond, SecondAndFirst {}
3 changes: 3 additions & 0 deletions tests/java/org/python/tests/mro/FirstAndPost.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
package org.python.tests.mro;

public interface FirstAndPost extends FirstPredefinedGetitem, PostdefinedGetitem {}
3 changes: 3 additions & 0 deletions tests/java/org/python/tests/mro/FirstAndSecond.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
package org.python.tests.mro;

public interface FirstAndSecond extends FirstPredefinedGetitem, SecondPredefinedGetitem {}
3 changes: 3 additions & 0 deletions tests/java/org/python/tests/mro/FirstPredefinedGetitem.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
package org.python.tests.mro;

public interface FirstPredefinedGetitem {}
32 changes: 32 additions & 0 deletions tests/java/org/python/tests/mro/GetitemAdder.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package org.python.tests.mro;

import org.python.core.PyBuiltinMethod;
import org.python.core.PyBuiltinMethodNarrow;
import org.python.core.PyObject;
import org.python.core.PyType;

public class GetitemAdder {

public static void addPostdefined() {
PyBuiltinMethod meth = new PyBuiltinMethodNarrow("__getitem__", 1) {

@Override
public PyObject __call__(PyObject arg) {
return arg;
}
};
PyType.fromClass(PostdefinedGetitem.class).addMethod(meth);
}

public static void addPredefined() {
PyBuiltinMethod meth = new PyBuiltinMethodNarrow("__getitem__", 1) {

@Override
public PyObject __call__(PyObject arg) {
return arg;
}
};
PyType.fromClass(FirstPredefinedGetitem.class).addMethod(meth);
PyType.fromClass(SecondPredefinedGetitem.class).addMethod(meth);
}
}
3 changes: 3 additions & 0 deletions tests/java/org/python/tests/mro/PostAndFirst.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
package org.python.tests.mro;

public interface PostAndFirst extends PostdefinedGetitem, FirstPredefinedGetitem {}
3 changes: 3 additions & 0 deletions tests/java/org/python/tests/mro/PostdefinedGetitem.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
package org.python.tests.mro;

public interface PostdefinedGetitem {}
4 changes: 4 additions & 0 deletions tests/java/org/python/tests/mro/SecondAndFirst.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
package org.python.tests.mro;


public interface SecondAndFirst extends SecondPredefinedGetitem, FirstPredefinedGetitem {}
4 changes: 4 additions & 0 deletions tests/java/org/python/tests/mro/SecondPredefinedGetitem.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
package org.python.tests.mro;


public interface SecondPredefinedGetitem {}

0 comments on commit 2a9c00f

Please sign in to comment.