示例#1
0
def test_image_channel_non_image(shape):
    test_dir = './temp'
    misc_utils.make_dir_if_not_exist(test_dir)

    img = np.random.randint(0, 256, shape[:-1])
    save_name = os.path.join(test_dir, 'dat.npy')
    misc_utils.save_file(save_name, img)
    assert os.path.exists(save_name)

    assert img_utils.get_img_channel_num(save_name) == shape[-1]

    shutil.rmtree(test_dir)
示例#2
0
def test_io_funcs_txt(s):
    test_dir = './temp'
    misc_utils.make_dir_if_not_exist(test_dir)
    assert os.path.exists(test_dir)

    save_name = os.path.join(test_dir, f'dat.txt')
    misc_utils.save_file(save_name, s)
    assert os.path.exists(save_name)

    data_read = misc_utils.load_file(save_name)
    assert ''.join(data_read) == ''.join(s)

    shutil.rmtree(test_dir)
示例#3
0
def test_io_funcs(ext):
    test_dir = './temp'
    misc_utils.make_dir_if_not_exist(test_dir)
    assert os.path.exists(test_dir)

    data = np.random.random((512, 512, 3))
    save_name = os.path.join(test_dir, f'dat.{ext}')
    misc_utils.save_file(save_name, data)
    assert os.path.exists(save_name)

    data_read = misc_utils.load_file(save_name)
    np.testing.assert_array_almost_equal(data_read, data)

    shutil.rmtree(test_dir)
示例#4
0
def test_image_channel_raise_error(shape):
    test_dir = './temp'
    misc_utils.make_dir_if_not_exist(test_dir)

    img = np.random.randint(0, 256, shape)
    save_name = os.path.join(test_dir, f'dat.npy')
    misc_utils.save_file(save_name, img)
    assert os.path.exists(save_name)

    with pytest.raises(ValueError,
                       match=r'Image can only have 2 or 3 dimensions'):
        img_utils.get_img_channel_num(save_name)

    shutil.rmtree(test_dir)
示例#5
0
def test_io_funcs_json():
    temp = 'c'
    d = {'a': 123, 'b': 'abc', temp: [1, 2, 3]}

    test_dir = './temp'
    misc_utils.make_dir_if_not_exist(test_dir)
    assert os.path.exists(test_dir)

    save_name = os.path.join(test_dir, f'dat.json')
    misc_utils.save_file(save_name, d)
    assert os.path.exists(save_name)

    data_read = misc_utils.load_file(save_name)
    assert data_read == d

    shutil.rmtree(test_dir)
示例#6
0
def test_get_file_length():
    test_dir = './temp'
    misc_utils.make_dir_if_not_exist(test_dir)
    assert os.path.exists(test_dir)

    for i in range(10):
        length = np.random.randint(100, 501)
        text = []
        for _ in range(length):
            text.append('abcdefg\n')

        save_name = os.path.join(test_dir, 'dat.txt')
        misc_utils.save_file(save_name, text)
        assert misc_utils.get_file_length(save_name) == length

    shutil.rmtree(test_dir)
示例#7
0
def test_io_funcs_image_pil():
    img = np.random.randint(0, 256, (512, 512, 3))

    test_dir = './temp'
    misc_utils.make_dir_if_not_exist(test_dir)
    assert os.path.exists(test_dir)

    save_name = os.path.join(test_dir, 'dat.png')
    misc_utils.save_file(save_name, img)
    assert os.path.exists(save_name)

    data_read = misc_utils.load_file(save_name, pil=True)
    np.testing.assert_array_almost_equal(np.array(data_read), img)

    data_read = misc_utils.load_file(save_name, pil=True, to_numpy=True)
    np.testing.assert_array_almost_equal(data_read, img)

    shutil.rmtree(test_dir)