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

1import dataclasses 

2 

3import pytest 

4 

5from meta_tags_parser import structs 

6 

7 

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)