Spaces:
Running
Running
from dataclasses import asdict | |
from pathlib import Path | |
import unittest | |
from training.datasets import HifiGanDataset | |
class TestHifiGanDataset(unittest.TestCase): | |
def setUp(self): | |
self.cache_dir = "datasets_cache" | |
self.dataset = HifiGanDataset(cache_dir=self.cache_dir, cache=True) | |
def test_len(self): | |
# Test that the length of the dataset is correct | |
self.assertIsInstance(len(self.dataset), int) | |
def test_get_cache_subdir_path(self): | |
idx = 1234 | |
expected_path = Path(self.cache_dir) / "cache-hifigan-dataset" / "2000" | |
self.assertEqual(self.dataset.get_cache_subdir_path(idx), expected_path) | |
def test_get_cache_file_path(self): | |
idx = 1234 | |
expected_path = ( | |
Path(self.cache_dir) / "cache-hifigan-dataset" / "2000" / f"{idx}.pt" | |
) | |
self.assertEqual(self.dataset.get_cache_file_path(idx), expected_path) | |
def test_getitem(self): | |
# Test that getting an item from the dataset returns a HifiGANItem | |
item = self.dataset[0] | |
self.assertIsInstance(item, tuple) | |
def test_iter(self): | |
# Test that the dataset is iterable | |
for item in self.dataset: | |
self.assertIsInstance(item, tuple) | |
break | |
def test_cache(self): | |
cache_file = self.dataset.get_cache_file_path(0) | |
self.assertTrue(cache_file.exists()) | |
if __name__ == "__main__": | |
unittest.main() | |