def test_features_dicts_are_synced(self): def assert_features_dicts_are_synced(features: Features): assert (hasattr(features, "_column_requires_decoding") and features.keys() == features._column_requires_decoding.keys()) features = Features( {"foo": Sequence({"bar": { "my_value": Value("int32") }})}) assert_features_dicts_are_synced(features) features["barfoo"] = Image() assert_features_dicts_are_synced(features) del features["barfoo"] assert_features_dicts_are_synced(features) features.update({"foobar": Value("string")}) assert_features_dicts_are_synced(features) features.pop("foobar") assert_features_dicts_are_synced(features) features.popitem() assert_features_dicts_are_synced(features) features.setdefault("xyz", Value("bool")) assert_features_dicts_are_synced(features) features.clear() assert_features_dicts_are_synced(features)