Edge case tests for build_dataloaders.
| 145 | |
| 146 | |
| 147 | class TestBuildDataloadersEdgeCases: |
| 148 | """Edge case tests for build_dataloaders.""" |
| 149 | |
| 150 | @patch("datastudio.datasets.builder.build_from_cfg") |
| 151 | def test_build_with_empty_file_list(self, mock_build, temp_dir, mock_logger): |
| 152 | """Test building with empty file list.""" |
| 153 | dataset_config = { |
| 154 | "type": "StandardDataLoader", |
| 155 | "dataset": [], |
| 156 | "data_root": "/data", |
| 157 | "batch_size": 32, |
| 158 | "num_workers": 4, |
| 159 | } |
| 160 | |
| 161 | loaders = build_dataloaders( |
| 162 | dataset_config, logger=mock_logger, work_dir=temp_dir |
| 163 | ) |
| 164 | assert loaders == [] |
| 165 | |
| 166 | @patch("datastudio.datasets.builder.build_from_cfg") |
| 167 | def test_build_without_logger(self, mock_build, temp_dir): |
| 168 | """Test building without logger.""" |
| 169 | mock_build.return_value = MagicMock() |
| 170 | |
| 171 | dataset_config = { |
| 172 | "type": "StandardDataLoader", |
| 173 | "dataset": ["/data/test.json"], |
| 174 | "data_root": "/data", |
| 175 | "batch_size": 32, |
| 176 | "num_workers": 4, |
| 177 | } |
| 178 | |
| 179 | loaders = build_dataloaders(dataset_config, logger=None, work_dir=temp_dir) |
| 180 | assert isinstance(loaders, list) |
| 181 | |
| 182 | @patch("datastudio.datasets.builder.build_from_cfg") |
| 183 | def test_build_without_work_dir(self, mock_build, mock_logger): |
| 184 | """Test building without work_dir disables checkpoint.""" |
| 185 | mock_build.return_value = MagicMock() |
| 186 | |
| 187 | dataset_config = { |
| 188 | "type": "StandardDataLoader", |
| 189 | "dataset": ["/data/test.json"], |
| 190 | "data_root": "/data", |
| 191 | "batch_size": 32, |
| 192 | "num_workers": 4, |
| 193 | } |
| 194 | |
| 195 | loaders = build_dataloaders(dataset_config, logger=mock_logger, work_dir=None) |
| 196 | assert isinstance(loaders, list) |
| 197 | |
| 198 | def test_build_with_none_dataset(self, temp_dir, mock_logger): |
| 199 | """Test building with None dataset returns None.""" |
| 200 | dataset_config = { |
| 201 | "type": "StandardDataLoader", |
| 202 | "dataset": None, |
| 203 | "data_root": "/data", |
| 204 | "batch_size": 32, |
nothing calls this directly
no outgoing calls
no test coverage detected