2
0
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:
Ralf W. Grosse-Kunstleve
2001-07-18 21:33:47 +00:00
parent c7e12ecf3d
commit 9bca6982a4
14 changed files with 187 additions and 97 deletions

View File

@@ -52,7 +52,7 @@ namespace vects {
# undef VECTOR_BINARY_OPERATORS
};
} // namespace vects
} // namespace <anonymous>
namespace {

View File

@@ -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
View 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
View 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
View 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."

View File

@@ -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)

View File

@@ -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

View File

@@ -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()