Exemple #1
0
def test_3d():
    grid = RasterField((2, 3, 4), (1., 1., 1.), (0., 0., 0.))
    point_data = np.arange(grid.get_point_count())
    grid.add_field('var_0', point_data, centering='point')

    with cd_temp() as _:
        tofile('test-3d', grid)

        assert_true(os.path.isfile('test-3d.bov'))
        assert_true(os.path.isfile('test-3d.dat'))

        data = np.fromfile('test-3d.dat', dtype=int)
        assert_array_equal(point_data, data)

        with open('test-3d.bov', 'r') as fp:
            header = yaml.load(fp)

    assert_dict_equal(
        header, {
            'VARIABLE': 'var_0',
            'BRICK_SIZE': '2.0 3.0 4.0',
            'DATA_FILE': 'test-3d.dat',
            'DATA_SIZE': '2 3 4',
            'BRICK_ORIGIN': '0.0 0.0 0.0',
            'DATA_FORMAT': 'INT',
            'DATA_ENDIAN': sys.byteorder.upper(),
        })
Exemple #2
0
def test_3d(tmpdir):
    grid = RasterField((2, 3, 4), (1., 1., 1.), (0., 0., 0.))
    point_data = np.arange(grid.get_point_count())
    grid.add_field("var_0", point_data, centering="point")

    with tmpdir.as_cwd():
        tofile("test-3d", grid)

        assert os.path.isfile("test-3d.bov")
        assert os.path.isfile("test-3d.dat")

        data = np.fromfile("test-3d.dat", dtype=int)
        assert np.all(point_data == data)

        with open("test-3d.bov", "r") as fp:
            header = yaml.load(fp)

    assert header == {
        "VARIABLE": "var_0",
        "BRICK_SIZE": "2.0 3.0 4.0",
        "DATA_FILE": "test-3d.dat",
        "DATA_SIZE": "2 3 4",
        "BRICK_ORIGIN": "0.0 0.0 0.0",
        "DATA_FORMAT": "INT",
        "DATA_ENDIAN": sys.byteorder.upper(),
    }
Exemple #3
0
def test_bad_grid():
    grid = RectilinearField((np.arange(12), ))
    var_0_data = np.arange(grid.get_point_count())
    grid.add_field('var_0', var_0_data, centering='point')

    with cd_temp() as _:
        with assert_raises(TypeError):
            tofile('test-1d', grid)
Exemple #4
0
def test_bad_grid(tmpdir):
    grid = RectilinearField((np.arange(12),))
    var_0_data = np.arange(grid.get_point_count())
    grid.add_field("var_0", var_0_data, centering="point")

    with tmpdir.as_cwd():
        with pytest.raises(TypeError):
            tofile("test-1d", grid)
Exemple #5
0
def test_clobber():
    grid = RasterField((12, ), (1., ), (0., ))
    var_0_data = np.arange(grid.get_point_count())
    grid.add_field('var_0', var_0_data, centering='point')

    for fname in ['test-1d.bov', 'test-1d.dat']:
        with cd_temp() as _:
            with open(fname, 'w') as fp:
                fp.write('empty_file')
            with assert_raises(FileExists):
                tofile('test-1d', grid, no_clobber=True)
            tofile('test-1d', grid)
Exemple #6
0
def test_clobber(tmpdir):
    grid = RasterField((12,), (1.,), (0.,))
    var_0_data = np.arange(grid.get_point_count())
    grid.add_field("var_0", var_0_data, centering="point")

    for fname in ["test-1d.bov", "test-1d.dat"]:
        with tmpdir.as_cwd():
            with open(fname, "w") as fp:
                fp.write("empty_file")
            with pytest.raises(FileExists):
                tofile("test-1d", grid, no_clobber=True)
            tofile("test-1d", grid)
Exemple #7
0
def test_all_fields():
    grid = RasterField((12, ), (1., ), (0., ))
    var_0_data = np.arange(grid.get_point_count())
    var_1_data = np.arange(grid.get_point_count()) * 10
    grid.add_field('var_0', var_0_data, centering='point')
    grid.add_field('var_1', var_1_data, centering='point')

    with cd_temp() as _:
        tofile('test-1d', grid)

        assert_true(os.path.isfile('test-1d_var_0.bov'))
        assert_true(os.path.isfile('test-1d_var_0.dat'))
        assert_true(os.path.isfile('test-1d_var_1.bov'))
        assert_true(os.path.isfile('test-1d_var_1.dat'))

        data = np.fromfile('test-1d_var_0.dat', dtype=int)
        assert_array_equal(var_0_data, data)
        data = np.fromfile('test-1d_var_1.dat', dtype=int)
        assert_array_equal(var_1_data, data)
Exemple #8
0
def test_all_fields(tmpdir):
    grid = RasterField((12,), (1.,), (0.,))
    var_0_data = np.arange(grid.get_point_count())
    var_1_data = np.arange(grid.get_point_count()) * 10
    grid.add_field("var_0", var_0_data, centering="point")
    grid.add_field("var_1", var_1_data, centering="point")

    with tmpdir.as_cwd():
        tofile("test-1d", grid)

        assert os.path.isfile("test-1d_var_0.bov")
        assert os.path.isfile("test-1d_var_0.dat")
        assert os.path.isfile("test-1d_var_1.bov")
        assert os.path.isfile("test-1d_var_1.dat")

        data = np.fromfile("test-1d_var_0.dat", dtype=int)
        assert np.all(var_0_data == data)
        data = np.fromfile("test-1d_var_1.dat", dtype=int)
        assert np.all(var_1_data == data)
Exemple #9
0
def test_options(tmpdir):
    grid = RasterField((12,), (1.,), (0.,))
    var_0_data = np.arange(grid.get_point_count())
    grid.add_field("var_0", var_0_data, centering="point")

    with tmpdir.as_cwd():
        tofile("test-1d", grid, options={"foo": "bar"})

        with open("test-1d.bov", "r") as fp:
            header = yaml.load(fp)

    assert header == {
        "VARIABLE": "var_0",
        "BRICK_SIZE": "12.0 1.0 1.0",
        "DATA_FILE": "test-1d.dat",
        "DATA_SIZE": "12 1 1",
        "BRICK_ORIGIN": "0.0 1.0 1.0",
        "DATA_FORMAT": "INT",
        "DATA_ENDIAN": sys.byteorder.upper(),
        "foo": "bar",
    }
Exemple #10
0
def test_options():
    grid = RasterField((12, ), (1., ), (0., ))
    var_0_data = np.arange(grid.get_point_count())
    grid.add_field('var_0', var_0_data, centering='point')

    with cd_temp() as _:
        tofile('test-1d', grid, options={'foo': 'bar'})

        with open('test-1d.bov', 'r') as fp:
            header = yaml.load(fp)

    assert_dict_equal(
        header, {
            'VARIABLE': 'var_0',
            'BRICK_SIZE': '12.0 1.0 1.0',
            'DATA_FILE': 'test-1d.dat',
            'DATA_SIZE': '12 1 1',
            'BRICK_ORIGIN': '0.0 1.0 1.0',
            'DATA_FORMAT': 'INT',
            'DATA_ENDIAN': sys.byteorder.upper(),
            'foo': 'bar',
        })