diff --git a/src/NHibernate.Test/UtilityTest/SetSnapShotFixture.cs b/src/NHibernate.Test/UtilityTest/SetSnapShotFixture.cs index c13478424b0..e00af722111 100644 --- a/src/NHibernate.Test/UtilityTest/SetSnapShotFixture.cs +++ b/src/NHibernate.Test/UtilityTest/SetSnapShotFixture.cs @@ -49,6 +49,16 @@ public void TestInitialization() Assert.That(sn.TryGetValue(null, out _), Is.True); } + [Test] + public void TestDuplicates() + { + var list = new List { "test1", "test1", "test2" }; + var sn = new SetSnapShot(list); + Assert.That(sn, Has.Count.EqualTo(2)); + Assert.That(sn.TryGetValue("test1", out _), Is.True); + Assert.That(sn.TryGetValue("test2", out _), Is.True); + } + [Test] public void TestCopyTo() { diff --git a/src/NHibernate/Collection/Generic/SetHelpers/SetSnapShot.cs b/src/NHibernate/Collection/Generic/SetHelpers/SetSnapShot.cs index eb29c6b6fd5..54524e56f36 100644 --- a/src/NHibernate/Collection/Generic/SetHelpers/SetSnapShot.cs +++ b/src/NHibernate/Collection/Generic/SetHelpers/SetSnapShot.cs @@ -33,7 +33,7 @@ public SetSnapShot(IEnumerable collection) } else { - _values.Add(item, item); + _values[item] = item; } } } @@ -70,7 +70,7 @@ public void Add(T item) return; } - _values.Add(item, item); + _values[item] = item; } public void Clear()