Skip to content

Commit 27b044d

Browse files
committed
Improve test coverage for shared pools
1 parent 58a3ca4 commit 27b044d

1 file changed

Lines changed: 16 additions & 2 deletions

File tree

StyleCop.Analyzers/StyleCop.Analyzers.Test/HelperTests/ObjectPools/SharedPoolsTests.cs

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -211,17 +211,31 @@ public void TestClearAndFreeLarge()
211211
[Fact]
212212
public void TestPooledObjectHandlesNullAllocation()
213213
{
214-
object Allocator(ObjectPool<object> pool)
214+
object NullAllocator(ObjectPool<object> pool)
215215
=> null;
216216

217+
object NonNullAllocator(ObjectPool<object> pool)
218+
=> new object();
219+
220+
bool releaserCalled = false;
217221
void Releaser(ObjectPool<object> pool, object obj)
218222
{
223+
releaserCalled = true;
219224
}
220225

221-
using (var obj = new PooledObject<object>(SharedPools.Default<object>(), Allocator, Releaser))
226+
using (var obj = new PooledObject<object>(SharedPools.Default<object>(), NullAllocator, Releaser))
222227
{
223228
Assert.Null(obj.Object);
224229
}
230+
231+
Assert.False(releaserCalled);
232+
233+
using (var obj = new PooledObject<object>(SharedPools.Default<object>(), NonNullAllocator, Releaser))
234+
{
235+
Assert.NotNull(obj.Object);
236+
}
237+
238+
Assert.True(releaserCalled);
225239
}
226240
}
227241
}

0 commit comments

Comments
 (0)