def test_repr(self): options = dict(foo="bar", baz=1) output = repr(FrozenMapping(options)) assert isinstance(output, str) for key, value in options.items(): assert str(key) in output and str(value) in output
def _make_info(self) -> DatasetInfo: name = "imagenet" categories, wnids = zip( *DatasetInfo.read_categories_file(BUILTIN_DIR / f"{name}.categories")) return DatasetInfo( name, dependencies=("scipy", ), categories=categories, homepage="https://www.image-net.org/", valid_options=dict(split=("train", "val", "test")), extra=dict( wnid_to_category=FrozenMapping(zip(wnids, categories)), category_to_wnid=FrozenMapping(zip(categories, wnids)), sizes=FrozenMapping([ (DatasetConfig(split="train"), 1_281_167), (DatasetConfig(split="val"), 50_000), (DatasetConfig(split="test"), 100_000), ]), ), )
def _make_info(self) -> DatasetInfo: name = "coco" categories, super_categories = zip( *DatasetInfo.read_categories_file(BUILTIN_DIR / f"{name}.categories")) return DatasetInfo( name, dependencies=("pycocotools", ), categories=categories, homepage="https://cocodataset.org/", valid_options=dict( split=("train", "val"), year=("2017", "2014"), annotations=(*self._ANN_DECODERS.keys(), None), ), extra=dict(category_to_super_category=FrozenMapping( zip(categories, super_categories))), )
def test_ne(self): options1 = dict(foo="bar", baz=1) options2 = options1.copy() options2["baz"] += 1 assert FrozenMapping(options1) != FrozenMapping(options2)
def test_eq(self): options = dict(foo="bar", baz=1) assert FrozenMapping(options) == FrozenMapping(options)
def test_immutable_delitem(self, ): frozen_mapping = FrozenMapping(foo="bar") with pytest.raises(RuntimeError, match="immutable"): del frozen_mapping["foo"]
def test_immutable_setitem(self): frozen_mapping = FrozenMapping() with pytest.raises(RuntimeError, match="immutable"): frozen_mapping["foo"] = "bar"
def test_len(self): options = dict(foo="bar", baz=1) assert len(FrozenMapping(options)) == len(options)
def test_iter(self): options = dict(foo="bar", baz=1) assert set(iter(FrozenMapping(options))) == set(options.keys())
def test_getitem_unknown(self): with pytest.raises(KeyError): FrozenMapping()["unknown"]
def test_getitem(self): options = dict(foo="bar", baz=1) config = FrozenMapping(options) for key, value in options.items(): assert config[key] == value
def test_unhashable_items(self): with pytest.raises(TypeError, match="unhashable type"): FrozenMapping(foo=[])
def test_instantiation(self, args, kwargs): FrozenMapping(*args, **kwargs)