12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- # -*- coding: utf-8 -*-
- """
- Tests checkers
- """
- import doctest
- import grass.gunittest.case
- import grass.gunittest.main
- import grass.gunittest.utils
- import grass.pygrass.raster as pgrass
- # doctest does not allow changing the base classes of test case, skip test case
- # and test suite, so we need to create a new type which inherits from our class
- # and contains doctest's methods
- # the alternative is to copy 500 from doctest and change what is needed
- # (this might be necessary anyway because of the reports and stdout and stderr)
- doctest.DocFileCase = type(
- "DocFileCase", (grass.gunittest.case.TestCase,), dict(doctest.DocFileCase.__dict__)
- )
- doctest.SkipDocTestCase = type(
- "SkipDocTestCase",
- (grass.gunittest.case.TestCase,),
- dict(doctest.SkipDocTestCase.__dict__),
- )
- def load_tests(loader, tests, ignore):
- # TODO: this must be somewhere when doctest is called, not here
- # TODO: ultimate solution is not to use _ as a buildin in lib/python
- # for now it is the only place where it works
- grass.gunittest.utils.do_doctest_gettext_workaround()
- # this should be called at some top level
- from grass.pygrass.modules import Module
- Module("g.region", n=40, s=0, e=40, w=0, res=10)
- Module(
- "r.mapcalc",
- expression="%s = row() + (10 * col())" % (pgrass.test_raster_name),
- overwrite=True,
- )
- Module(
- "r.support",
- map=pgrass.test_raster_name,
- title="A test map",
- history="Generated by r.mapcalc",
- description="This is a test map",
- )
- cats = """11:A
- 12:B
- 13:C
- 14:D
- 21:E
- 22:F
- 23:G
- 24:H
- 31:I
- 32:J
- 33:K
- 34:L
- 41:M
- 42:n
- 43:O
- 44:P"""
- Module(
- "r.category", rules="-", map=pgrass.test_raster_name, stdin_=cats, separator=":"
- )
- Module(
- "r.mapcalc",
- expression="%s = row() + (10 * col())" % (pgrass.abstract.test_raster_name),
- overwrite=True,
- )
- tests.addTests(doctest.DocTestSuite(pgrass))
- tests.addTests(doctest.DocTestSuite(pgrass.abstract))
- return tests
- if __name__ == "__main__":
- grass.gunittest.main.test()
|