rasterio/tests/test_rio_stack.py
Sean Gillies 9355513d39 Get env from main ctx
Migrate all tests over to invoking main_group with a named command.
2016-07-27 14:51:36 -06:00

76 lines
2.2 KiB
Python

from click.testing import CliRunner
import rasterio
from rasterio.rio.main import main_group
from rasterio.rio.stack import stack
def test_stack(tmpdir):
outputname = str(tmpdir.join('stacked.tif'))
runner = CliRunner()
result = runner.invoke(
main_group, ['stack', 'tests/data/RGB.byte.tif', outputname])
assert result.exit_code == 0
with rasterio.open(outputname) as out:
assert out.count == 3
assert out.read(1).max() > 0
def test_stack_list(tmpdir):
outputname = str(tmpdir.join('stacked.tif'))
runner = CliRunner()
result = runner.invoke(
main_group, [
'stack', 'tests/data/RGB.byte.tif', '--bidx', '1,2,3', outputname])
assert result.exit_code == 0
with rasterio.open(outputname) as out:
assert out.count == 3
def test_stack_slice(tmpdir):
outputname = str(tmpdir.join('stacked.tif'))
runner = CliRunner()
result = runner.invoke(
main_group, [
'stack',
'tests/data/RGB.byte.tif', '--bidx', '..2',
'tests/data/RGB.byte.tif', '--bidx', '3..',
outputname])
assert result.exit_code == 0
with rasterio.open(outputname) as out:
assert out.count == 3
def test_stack_single_slice(tmpdir):
outputname = str(tmpdir.join('stacked.tif'))
runner = CliRunner()
result = runner.invoke(
main_group, [
'stack',
'tests/data/RGB.byte.tif', '--bidx', '1',
'tests/data/RGB.byte.tif', '--bidx', '2..',
'--rgb', outputname])
assert result.exit_code == 0
with rasterio.open(outputname) as out:
assert out.count == 3
def test_format_jpeg(tmpdir):
outputname = str(tmpdir.join('stacked.jpg'))
runner = CliRunner()
result = runner.invoke(
main_group, [
'stack', 'tests/data/RGB.byte.tif', outputname,
'--format', 'JPEG'])
assert result.exit_code == 0
def test_error(tmpdir):
outputname = str(tmpdir.join('stacked.tif'))
runner = CliRunner()
result = runner.invoke(
main_group, [
'stack', 'tests/data/RGB.byte.tif', outputname,
'--driver', 'BOGUS'])
assert result.exit_code == 1