Coverage for tests/test_structs.py: 100%
7 statements
« prev ^ index » next coverage.py v7.10.3, created at 2025-08-21 00:51 +0000
« prev ^ index » next coverage.py v7.10.3, created at 2025-08-21 00:51 +0000
1import dataclasses
3import pytest
5from meta_tags_parser import structs
8@pytest.mark.parametrize(
9 ("tested_instance", "target_field_name", "new_value"),
10 [
11 (structs.OneMetaTag(name="a", value="b"), "name", "c"),
12 (structs.ValuesGroup(original="d", normalized="e"), "original", "f"),
13 (structs.TagsGroup(), "title", "g"),
14 (
15 structs.SnippetGroup(),
16 "twitter",
17 structs.SocialMediaSnippet(title="h"),
18 ),
19 (structs.SocialMediaSnippet(), "title", "i"),
20 ],
21)
22def test_structs_are_frozen(
23 tested_instance: object,
24 target_field_name: str,
25 new_value: object,
26) -> None:
27 with pytest.raises(dataclasses.FrozenInstanceError):
28 setattr(tested_instance, target_field_name, new_value)