@@ -82,22 +82,30 @@ def generate(self, context: IDGeneratorContext) -> str:
8282 assert generator .generate (IDGeneratorContext ()) == 'test_id'
8383
8484
85+ @pytest .fixture
86+ def generator ():
87+ """Returns a UUIDGenerator instance."""
88+ return UUIDGenerator ()
89+
90+
91+ @pytest .fixture
92+ def context ():
93+ """Returns a IDGeneratorContext instance."""
94+ return IDGeneratorContext ()
95+
96+
8597class TestUUIDGenerator :
8698 """Tests for UUIDGenerator implementation."""
8799
88- def test_generate_returns_string (self ):
100+ def test_generate_returns_string (self , generator , context ):
89101 """Test that generate returns a valid v4 UUID string."""
90- generator = UUIDGenerator ()
91- context = IDGeneratorContext ()
92102 result = generator .generate (context )
93103 assert isinstance (result , str )
94104 parsed_uuid = uuid .UUID (result )
95105 assert parsed_uuid .version == 4
96106
97- def test_generate_produces_unique_ids (self ):
107+ def test_generate_produces_unique_ids (self , generator , context ):
98108 """Test that multiple calls produce unique IDs."""
99- generator = UUIDGenerator ()
100- context = IDGeneratorContext ()
101109 ids = [generator .generate (context ) for _ in range (100 )]
102110 # All IDs should be unique
103111 assert len (ids ) == len (set (ids ))
@@ -118,4 +126,5 @@ def test_generate_works_with_various_contexts(self, context_arg):
118126 generator = UUIDGenerator ()
119127 result = generator .generate (context_arg )
120128 assert isinstance (result , str )
121- uuid .UUID (result )
129+ parsed_uuid = uuid .UUID (result )
130+ assert parsed_uuid .version == 4
0 commit comments