@@ -41,3 +41,26 @@ def test_sort(self) -> None:
4141 sorted_deps = sorted (deps )
4242 expected_deps = reorder (deps , expected_order )
4343 self .assertEqual (sorted_deps , expected_deps )
44+
45+ def test_dependency_with_provides (self ) -> None :
46+ # Create test data
47+ ref1 = BomRef (value = 'be2c6502-7e9a-47db-9a66-e34f729810a3' )
48+ ref2 = BomRef (value = '0b049d09-64c0-4490-a0f5-c84d9aacf857' )
49+ provides_ref1 = BomRef (value = 'cd3e9c95-9d41-49e7-9924-8cf0465ae789' )
50+ provides_ref2 = BomRef (value = '17e3b199-dc0b-42ef-bfdd-1fa81a1e3eda' )
51+
52+ # Create dependencies with provides
53+ dep1 = Dependency (ref = ref1 , provides = [Dependency (ref = provides_ref1 )])
54+ dep2 = Dependency (ref = ref2 , provides = [Dependency (ref = provides_ref2 )])
55+
56+ # Verify provides field
57+ self .assertEqual (len (dep1 .provides ), 1 )
58+ self .assertEqual (len (dep2 .provides ), 1 )
59+
60+ # Check provides_as_bom_refs
61+ self .assertEqual (dep1 .provides_as_bom_refs (), {provides_ref1 })
62+ self .assertEqual (dep2 .provides_as_bom_refs (), {provides_ref2 })
63+
64+ # Verify comparison and hashing
65+ self .assertNotEqual (hash (dep1 ), hash (dep2 ))
66+ self .assertNotEqual (dep1 , dep2 )
0 commit comments