public void HashSet_Generic_TryGetValue_NotContains()
        {
            T             value = CreateT(1);
            PooledSet <T> set   = new PooledSet <T> {
                value
            };

            RegisterForDispose(set);
            T equalValue = CreateT(2);
            T actualValue;

            Assert.False(set.TryGetValue(equalValue, out actualValue));
            Assert.Equal(default, actualValue);
        public void HashSet_Generic_TryGetValue_Contains_OverwriteOutputParam()
        {
            T             value = CreateT(1);
            PooledSet <T> set   = new PooledSet <T> {
                value
            };

            RegisterForDispose(set);
            T equalValue  = CreateT(1);
            T actualValue = CreateT(2);

            Assert.True(set.TryGetValue(equalValue, out actualValue));
            Assert.Equal(value, actualValue);
            if (!typeof(T).IsValueType)
            {
                Assert.Same(value, actualValue);
            }
        }