| # Copyright David Abrahams 2004. Distributed under the Boost |
| # Software License, Version 1.0. (See accompanying |
| # file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) |
| ''' |
| >>> from operators_ext import * |
| |
| Check __nonzero__ support |
| |
| >>> assert X(2) |
| >>> assert not X(0) |
| |
| ---- |
| |
| >>> x = X(42) |
| >>> x.value() |
| 42 |
| >>> y = x - X(5) |
| >>> y.value() |
| 37 |
| >>> y = x - 4 |
| >>> y.value() |
| 38 |
| >>> y = 3 - x |
| >>> y.value() |
| -39 |
| >>> (-y).value() |
| 39 |
| |
| >>> (x + y).value() |
| 3 |
| |
| >>> abs(y).value() |
| 39 |
| |
| >>> x < 10 |
| 0 |
| >>> x < 43 |
| 1 |
| |
| >>> 10 < x |
| 1 |
| >>> 43 < x |
| 0 |
| |
| >>> x < y |
| 0 |
| >>> y < x |
| 1 |
| |
| ------ |
| >>> x > 10 |
| 1 |
| >>> x > 43 |
| 0 |
| |
| >>> 10 > x |
| 0 |
| >>> 43 > x |
| 1 |
| |
| >>> x > y |
| 1 |
| >>> y > x |
| 0 |
| |
| >>> y = x - 5 |
| >>> x -= y |
| >>> x.value() |
| 5 |
| >>> str(x) |
| '5' |
| |
| >>> z = Z(10) |
| >>> int(z) |
| 10 |
| >>> float(z) |
| 10.0 |
| >>> complex(z) |
| (10+0j) |
| |
| >>> pow(2,x) |
| 32 |
| >>> pow(x,2).value() |
| 25 |
| >>> pow(X(2),x).value() |
| 32 |
| ''' |
| |
| def run(args = None): |
| import sys |
| import doctest |
| |
| if args is not None: |
| sys.argv = args |
| return doctest.testmod(sys.modules.get(__name__)) |
| |
| if __name__ == '__main__': |
| print "running..." |
| import sys |
| status = run()[0] |
| if (status == 0): print "Done." |
| sys.exit(status) |