| # 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 slice_ext import * |
| >>> accept_slice(slice(1, None, (1,2))) |
| 1 |
| >>> try: |
| ... accept_slice(list((1,2))) |
| ... print "test failed" |
| ... except: |
| ... print "test passed" |
| ... |
| test passed |
| >>> try: |
| ... from Numeric import array |
| ... except: |
| ... print 1 |
| ... else: |
| ... check_numeric_array_rich_slice('Numeric', 'ArrayType', lambda x:x) |
| ... |
| 1 |
| >>> try: |
| ... from numarray import array, all |
| ... except: |
| ... print 1 |
| ... else: |
| ... check_numeric_array_rich_slice('numarray', 'NDArray', all) |
| ... |
| 1 |
| >>> import sys |
| >>> if sys.version_info[0] == 2 and sys.version_info[1] >= 3: |
| ... check_string_rich_slice() |
| ... elif sys.version_info[0] > 2: |
| ... check_string_rich_slice() |
| ... else: |
| ... print 1 |
| ... |
| 1 |
| >>> check_slice_get_indicies( slice(None)) |
| 0 |
| >>> check_slice_get_indicies( slice(2,-2)) |
| 0 |
| >>> check_slice_get_indicies( slice(2, None, 2)) |
| 5 |
| >>> check_slice_get_indicies( slice(2, None, -1)) |
| -12 |
| >>> check_slice_get_indicies( slice( 20, None)) |
| 0 |
| >>> check_slice_get_indicies( slice( -2, -5, -2)) |
| 6 |
| """ |
| |
| # Performs an affirmative and negative argument resolution check, |
| # checks the operation of extended slicing in Numeric arrays |
| # (only performed if Numeric.array or numarray.array can be found). |
| # checks the operation of extended slicing in new strings (Python 2.3 only). |
| |
| 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) |