mirror of
https://github.com/boostorg/python.git
synced 2026-01-22 17:32:55 +00:00
doctest tests test_richcmp?.py, make test updated.
[SVN r10662]
This commit is contained in:
@@ -56,9 +56,9 @@ bpl_exa + "/vector_wrapper.h",
|
||||
bpl_exa + "/richcmp1.cpp",
|
||||
bpl_exa + "/richcmp2.cpp",
|
||||
bpl_exa + "/richcmp3.cpp",
|
||||
bpl_exa + "/tst_richcmp1.py",
|
||||
bpl_exa + "/tst_richcmp2.py",
|
||||
bpl_exa + "/tst_richcmp3.py",
|
||||
bpl_exa + "/test_richcmp1.py",
|
||||
bpl_exa + "/test_richcmp2.py",
|
||||
bpl_exa + "/test_richcmp3.py",
|
||||
)
|
||||
|
||||
defs = (
|
||||
|
||||
@@ -130,6 +130,9 @@ test:
|
||||
$(PYEXE) test_pickle2.py
|
||||
$(PYEXE) test_pickle3.py
|
||||
$(PYEXE) test_cross_module.py
|
||||
$(PYEXE) test_richcmp1.py
|
||||
$(PYEXE) test_richcmp2.py
|
||||
$(PYEXE) test_richcmp3.py
|
||||
|
||||
clean:
|
||||
rm -f $(OBJ) libboost_python.a libboost_python.a.input
|
||||
|
||||
@@ -131,6 +131,9 @@ test:
|
||||
$(PYEXE) test_pickle2.py
|
||||
$(PYEXE) test_pickle3.py
|
||||
$(PYEXE) test_cross_module.py
|
||||
$(PYEXE) test_richcmp1.py
|
||||
$(PYEXE) test_richcmp2.py
|
||||
$(PYEXE) test_richcmp3.py
|
||||
|
||||
clean:
|
||||
rm -f $(OBJ) libboost_python.a libboost_python.a.input
|
||||
|
||||
@@ -182,6 +182,9 @@ test:
|
||||
$(PYEXE) test_pickle2.py
|
||||
$(PYEXE) test_pickle3.py
|
||||
$(PYEXE) test_cross_module.py
|
||||
$(PYEXE) test_richcmp1.py
|
||||
$(PYEXE) test_richcmp2.py
|
||||
$(PYEXE) test_richcmp3.py
|
||||
|
||||
clean:
|
||||
del *.o
|
||||
|
||||
@@ -145,6 +145,9 @@ test:
|
||||
$(PYEXE) test_pickle2.py
|
||||
$(PYEXE) test_pickle3.py
|
||||
$(PYEXE) test_cross_module.py
|
||||
$(PYEXE) test_richcmp1.py
|
||||
$(PYEXE) test_richcmp2.py
|
||||
$(PYEXE) test_richcmp3.py
|
||||
|
||||
clean:
|
||||
rm -f $(OBJ) libboost_python.a libboost_python.a.input
|
||||
|
||||
@@ -114,14 +114,17 @@ test:
|
||||
$(PYEXE) test_pickle2.py
|
||||
$(PYEXE) test_pickle3.py
|
||||
$(PYEXE) test_cross_module.py --broken-auto-ptr
|
||||
$(PYEXE) test_richcmp1.py
|
||||
$(PYEXE) test_richcmp2.py
|
||||
$(PYEXE) test_richcmp3.py
|
||||
|
||||
clean:
|
||||
del *.obj
|
||||
del *.lib
|
||||
del *.exp
|
||||
del *.idb
|
||||
del *.pyd
|
||||
del *.pyc
|
||||
-del *.obj
|
||||
-del *.lib
|
||||
-del *.exp
|
||||
-del *.idb
|
||||
-del *.pyd
|
||||
-del *.pyc
|
||||
|
||||
softlinks:
|
||||
python $(BOOST_UNIX)/libs/python/build/filemgr.py $(BOOST_UNIX) softlinks
|
||||
|
||||
@@ -52,7 +52,7 @@ namespace vects {
|
||||
# undef VECTOR_BINARY_OPERATORS
|
||||
};
|
||||
|
||||
} // namespace vects
|
||||
} // namespace <anonymous>
|
||||
|
||||
|
||||
namespace {
|
||||
|
||||
@@ -24,11 +24,13 @@ namespace {
|
||||
int m_code;
|
||||
};
|
||||
|
||||
#if PYTHON_API_VERSION >= 1010
|
||||
boost::python::ref
|
||||
NotImplemented(const code&, const code&) {
|
||||
return
|
||||
boost::python::ref(Py_NotImplemented, boost::python::ref::increment_count);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
namespace {
|
||||
@@ -41,10 +43,12 @@ namespace {
|
||||
py_code.def(boost::python::constructor<int>());
|
||||
py_code.def(boost::python::operators<( boost::python::op_eq
|
||||
| boost::python::op_ne)>());
|
||||
#if PYTHON_API_VERSION >= 1010
|
||||
py_code.def(NotImplemented, "__lt__");
|
||||
py_code.def(NotImplemented, "__le__");
|
||||
py_code.def(NotImplemented, "__gt__");
|
||||
py_code.def(NotImplemented, "__ge__");
|
||||
#endif
|
||||
}
|
||||
|
||||
} // namespace <anonymous>
|
||||
|
||||
40
example/test_richcmp1.py
Normal file
40
example/test_richcmp1.py
Normal file
@@ -0,0 +1,40 @@
|
||||
r'''>>> import richcmp1
|
||||
>>> d1 = richcmp1.dvect((0, 1, 3, 3, 6, 7))
|
||||
>>> d2 = richcmp1.dvect((1, 2, 3, 4, 5, 6))
|
||||
>>> print d1.as_tuple()
|
||||
(0.0, 1.0, 3.0, 3.0, 6.0, 7.0)
|
||||
>>> print d2.as_tuple()
|
||||
(1.0, 2.0, 3.0, 4.0, 5.0, 6.0)
|
||||
>>> print (d1 < d2).as_tuple()
|
||||
(1, 1, 0, 1, 0, 0)
|
||||
>>> print (d1 <= d2).as_tuple()
|
||||
(1, 1, 1, 1, 0, 0)
|
||||
>>> print (d1 == d2).as_tuple()
|
||||
(0, 0, 1, 0, 0, 0)
|
||||
>>> print (d1 != d2).as_tuple()
|
||||
(1, 1, 0, 1, 1, 1)
|
||||
>>> print (d1 > d2).as_tuple()
|
||||
(0, 0, 0, 0, 1, 1)
|
||||
>>> print (d1 >= d2).as_tuple()
|
||||
(0, 0, 1, 0, 1, 1)
|
||||
>>> try: d1 == richcmp1.dvect((1, 2, 3, 4, 5))
|
||||
... except ValueError, e: print str(e)
|
||||
...
|
||||
vectors have different sizes
|
||||
'''
|
||||
|
||||
def run(args = None):
|
||||
if args is not None:
|
||||
import sys
|
||||
sys.argv = args
|
||||
import doctest, test_richcmp1
|
||||
return doctest.testmod(test_richcmp1)
|
||||
|
||||
if __name__ == '__main__':
|
||||
import sys
|
||||
if ( hasattr(sys, 'version_info')
|
||||
and ( (sys.version_info[0] == 2 and sys.version_info[1] >= 1)
|
||||
or sys.version_info[0] > 2)):
|
||||
sys.exit(run()[0])
|
||||
else:
|
||||
print "Python version 2.1 or higher required. Test skipped."
|
||||
41
example/test_richcmp2.py
Normal file
41
example/test_richcmp2.py
Normal file
@@ -0,0 +1,41 @@
|
||||
r'''>>> import richcmp2
|
||||
>>> c1 = richcmp2.code(1)
|
||||
>>> c2 = richcmp2.code(2)
|
||||
>>> c3 = richcmp2.code(2)
|
||||
>>> print c1 == c2
|
||||
0
|
||||
>>> print c1 != c2
|
||||
1
|
||||
>>> print c2 == c3
|
||||
1
|
||||
>>> print c2 != c3
|
||||
0
|
||||
>>> print c1 < c2
|
||||
1
|
||||
>>> print c1 <= c2
|
||||
1
|
||||
>>> print c1 == c2
|
||||
0
|
||||
>>> print c1 != c2
|
||||
1
|
||||
>>> print c1 > c2
|
||||
0
|
||||
>>> print c1 >= c2
|
||||
0
|
||||
'''
|
||||
|
||||
def run(args = None):
|
||||
if args is not None:
|
||||
import sys
|
||||
sys.argv = args
|
||||
import doctest, test_richcmp1
|
||||
return doctest.testmod(test_richcmp1)
|
||||
|
||||
if __name__ == '__main__':
|
||||
import sys
|
||||
if ( hasattr(sys, 'version_info')
|
||||
and ( (sys.version_info[0] == 2 and sys.version_info[1] >= 1)
|
||||
or sys.version_info[0] > 2)):
|
||||
sys.exit(run()[0])
|
||||
else:
|
||||
print "Python version 2.1 or higher required. Test skipped."
|
||||
77
example/test_richcmp3.py
Normal file
77
example/test_richcmp3.py
Normal file
@@ -0,0 +1,77 @@
|
||||
r'''>>> import richcmp3
|
||||
>>>
|
||||
>>> iv = richcmp3.ivect((1,2,3,4,5))
|
||||
>>> print iv.as_tuple()
|
||||
(1, 2, 3, 4, 5)
|
||||
>>> dv = richcmp3.dvect((2,-2,3,8,-5))
|
||||
>>> print dv.as_tuple()
|
||||
(2.0, -2.0, 3.0, 8.0, -5.0)
|
||||
>>>
|
||||
>>> print (iv+dv).as_tuple()
|
||||
(3.0, 0.0, 6.0, 12.0, 0.0)
|
||||
>>> print (iv+3).as_tuple()
|
||||
(4, 5, 6, 7, 8)
|
||||
>>> print (3+iv).as_tuple()
|
||||
(4, 5, 6, 7, 8)
|
||||
>>>
|
||||
>>> print "vect vs. vect Comparisons:"
|
||||
vect vs. vect Comparisons:
|
||||
>>> print (iv < dv).as_tuple()
|
||||
(1, 0, 0, 1, 0)
|
||||
>>> print (iv <= dv).as_tuple()
|
||||
(1, 0, 1, 1, 0)
|
||||
>>> print (iv == dv).as_tuple()
|
||||
(0, 0, 1, 0, 0)
|
||||
>>> print (iv != dv).as_tuple()
|
||||
(1, 1, 0, 1, 1)
|
||||
>>> print (iv > dv).as_tuple()
|
||||
(0, 1, 0, 0, 1)
|
||||
>>> print (iv >= dv).as_tuple()
|
||||
(0, 1, 1, 0, 1)
|
||||
>>>
|
||||
>>> print "vect vs. scalar Comparisons:"
|
||||
vect vs. scalar Comparisons:
|
||||
>>> print (iv < 3).as_tuple()
|
||||
(1, 1, 0, 0, 0)
|
||||
>>> print (iv <= 3).as_tuple()
|
||||
(1, 1, 1, 0, 0)
|
||||
>>> print (iv == 3).as_tuple()
|
||||
(0, 0, 1, 0, 0)
|
||||
>>> print (iv != 3).as_tuple()
|
||||
(1, 1, 0, 1, 1)
|
||||
>>> print (iv > 3).as_tuple()
|
||||
(0, 0, 0, 1, 1)
|
||||
>>> print (iv >= 3).as_tuple()
|
||||
(0, 0, 1, 1, 1)
|
||||
>>>
|
||||
>>> print "scalar vs. vect Comparisons:"
|
||||
scalar vs. vect Comparisons:
|
||||
>>> print (3 < iv).as_tuple()
|
||||
(0, 0, 0, 1, 1)
|
||||
>>> print (3 <= iv).as_tuple()
|
||||
(0, 0, 1, 1, 1)
|
||||
>>> print (3 == iv).as_tuple()
|
||||
(0, 0, 1, 0, 0)
|
||||
>>> print (3 != iv).as_tuple()
|
||||
(1, 1, 0, 1, 1)
|
||||
>>> print (3 > iv).as_tuple()
|
||||
(1, 1, 0, 0, 0)
|
||||
>>> print (3 >= iv).as_tuple()
|
||||
(1, 1, 1, 0, 0)
|
||||
'''
|
||||
|
||||
def run(args = None):
|
||||
if args is not None:
|
||||
import sys
|
||||
sys.argv = args
|
||||
import doctest, test_richcmp3
|
||||
return doctest.testmod(test_richcmp3)
|
||||
|
||||
if __name__ == '__main__':
|
||||
import sys
|
||||
if ( hasattr(sys, 'version_info')
|
||||
and ( (sys.version_info[0] == 2 and sys.version_info[1] >= 1)
|
||||
or sys.version_info[0] > 2)):
|
||||
sys.exit(run()[0])
|
||||
else:
|
||||
print "Python version 2.1 or higher required. Test skipped."
|
||||
@@ -1,13 +0,0 @@
|
||||
import richcmp1
|
||||
d1 = richcmp1.dvect((0, 1, 3, 3, 6, 7))
|
||||
d2 = richcmp1.dvect((1, 2, 3, 4, 5, 6))
|
||||
print d1.as_tuple()
|
||||
print d2.as_tuple()
|
||||
print (d1 < d2).as_tuple()
|
||||
print (d1 <= d2).as_tuple()
|
||||
print (d1 == d2).as_tuple()
|
||||
print (d1 != d2).as_tuple()
|
||||
print (d1 > d2).as_tuple()
|
||||
print (d1 >= d2).as_tuple()
|
||||
try: d1 == richcmp1.dvect((1, 2, 3, 4, 5))
|
||||
except ValueError, e: print str(e)
|
||||
@@ -1,14 +0,0 @@
|
||||
import richcmp2
|
||||
c1 = richcmp2.code(1)
|
||||
c2 = richcmp2.code(2)
|
||||
c3 = richcmp2.code(2)
|
||||
print c1 == c2
|
||||
print c1 != c2
|
||||
print c2 == c3
|
||||
print c2 != c3
|
||||
print c1 < c2
|
||||
print c1 <= c2
|
||||
print c1 == c2
|
||||
print c1 != c2
|
||||
print c1 > c2
|
||||
print c1 >= c2
|
||||
@@ -1,60 +0,0 @@
|
||||
import richcmp3,sys
|
||||
global iv,dv
|
||||
iv = richcmp3.ivect((1,2,3,4,5))
|
||||
print iv.as_tuple()
|
||||
dv = richcmp3.dvect((2,-2,3,8,-5))
|
||||
print dv.as_tuple()
|
||||
|
||||
print (iv+dv).as_tuple()
|
||||
print (iv+3).as_tuple()
|
||||
print (3+iv).as_tuple()
|
||||
|
||||
def python_2_1():
|
||||
print "\nvect vs. vect Comparisons:"
|
||||
print (iv < dv).as_tuple()
|
||||
print (iv <= dv).as_tuple()
|
||||
print (iv == dv).as_tuple()
|
||||
print (iv != dv).as_tuple()
|
||||
print (iv > dv).as_tuple()
|
||||
print (iv >= dv).as_tuple()
|
||||
|
||||
print "\nvect vs. scalar Comparisons:"
|
||||
print (iv < 3).as_tuple()
|
||||
print (iv <= 3).as_tuple()
|
||||
print (iv == 3).as_tuple()
|
||||
print (iv != 3).as_tuple()
|
||||
print (iv > 3).as_tuple()
|
||||
print (iv >= 3).as_tuple()
|
||||
|
||||
print "\nscalar vs. vect Comparisons:"
|
||||
print (3 < iv).as_tuple()
|
||||
print (3 <= iv).as_tuple()
|
||||
print (3 == iv).as_tuple()
|
||||
print (3 != iv).as_tuple()
|
||||
print (3 > iv).as_tuple()
|
||||
print (3 >= iv).as_tuple()
|
||||
|
||||
def python_pre_2_1():
|
||||
print "\nvect vs. vect Comparisons:"
|
||||
print (iv.__lt__(dv)).as_tuple()
|
||||
print (iv.__le__(dv)).as_tuple()
|
||||
print (iv.__eq__(dv)).as_tuple()
|
||||
print (iv.__ne__(dv)).as_tuple()
|
||||
print (iv.__gt__(dv)).as_tuple()
|
||||
print (iv.__ge__(dv)).as_tuple()
|
||||
|
||||
print "\nvect vs. scalar Comparisons:"
|
||||
print (iv.__lt__(3)).as_tuple()
|
||||
print (iv.__le__(3)).as_tuple()
|
||||
print (iv.__eq__(3)).as_tuple()
|
||||
print (iv.__ne__(3)).as_tuple()
|
||||
print (iv.__gt__(3)).as_tuple()
|
||||
print (iv.__ge__(3)).as_tuple()
|
||||
|
||||
print "\nscalar vs. vect Comparisons:"
|
||||
|
||||
if __name__=='__main__':
|
||||
if sys.version_info[0]>=2 and sys.version_info[1]>=1:
|
||||
python_2_1()
|
||||
else:
|
||||
python_pre_2_1()
|
||||
Reference in New Issue
Block a user