diff --git a/tests/assets/array/data.npy b/tests/assets/array/data.npy new file mode 100644 index 0000000..4d959f9 Binary files /dev/null and b/tests/assets/array/data.npy differ diff --git a/tests/test_datasets.py b/tests/test_datasets.py index f42a8ce..557ff22 100644 --- a/tests/test_datasets.py +++ b/tests/test_datasets.py @@ -113,8 +113,13 @@ def build_dataset(self): return DummpyDatasetlike(), DummpyDatasetlike() def test_root_is_path(self): + # check existing path dset = self.DummyPathDataset(root='.') + # check path resolved assert dset.root == Path(dset.root).resolve() + # check non-existing path + with pytest.raises(ValueError): + dset = self.DummyPathDataset(root='abc') class TestDirDataset: @@ -127,7 +132,7 @@ def build_dataset(self): def test_dir_check(self): dset = self.DummyDirDataset(root='.') with pytest.raises(ValueError): - dset = self.DummyDirDataset(root='abc') + dset = self.DummyDirDataset(root='setup.py') class TestDatasetArrayFolder: @@ -143,3 +148,23 @@ def test_loading_folder(self): dset = datasets.DatasetFolder(root=root_dir/ 'folder', loader=np.load) assert all([dset[0][0].shape == (3, 100), type(dset[0][1]) is str]) + +class TestFileDataset: + + class DummpyFileDataset(datasets.FileDataset): + + def build_dataset(self): + return DummpyDatasetlike(), DummpyDatasetlike() + + def test_file_check(self): + dset = self.DummpyFileDataset(root='setup.py') + with pytest.raises(ValueError): + dset = self.DummpyFileDataset(root='.') + + +class TestDatasetArray: + + def test_loading_array(self): + dset = datasets.DatasetArray(root=root_dir / 'array/data.npy') + assert all([dset[0][0].shape == (3, 100), dset[0][1].shape == ()]) + diff --git a/yews/datasets/base.py b/yews/datasets/base.py index bb4687b..278272d 100644 --- a/yews/datasets/base.py +++ b/yews/datasets/base.py @@ -121,3 +121,6 @@ class PathDataset(BaseDataset): def __init__(self, **kwargs): super(PathDataset, self).__init__(**kwargs) self.root = Path(self.root).resolve() + if not self.root.exists(): + raise ValueError(f"{self.root} does not exists.") +