Skip to content

Commit deb9eae

Browse files
Add test case
1 parent fd50164 commit deb9eae

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

src/Components/Components/test/Rendering/MultipleAttributesDictionaryTest.cs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,25 @@ public void CanStoreAndRetrieveValues()
3030
Assert.Equal(123, existingValue4);
3131
}
3232

33+
[Fact]
34+
public void HandlesKeysThatVaryOnlyByOneChar()
35+
{
36+
// Arrange
37+
// This test case is intended to produce clashing hashes
38+
var instance = new MultipleAttributesDictionary();
39+
instance.TryAdd("SomeLongKey", 123, out _);
40+
41+
// Act
42+
var didAddSecondEntry = instance.TryAdd("SXmeLongKey", 456, out _);
43+
44+
// Assert
45+
Assert.True(didAddSecondEntry);
46+
Assert.False(instance.TryAdd("SomeLongKey", 0, out var existingValue1));
47+
Assert.False(instance.TryAdd("SXmeLongKey", 0, out var existingValue2));
48+
Assert.Equal(123, existingValue1);
49+
Assert.Equal(456, existingValue2);
50+
}
51+
3352
[Fact]
3453
public void CanClear()
3554
{

0 commit comments

Comments
 (0)