42 lines
687 B
C#
42 lines
687 B
C#
using NUnit.Framework;
|
|
using System;
|
|
using ln.types.cache;
|
|
namespace ln.types.test
|
|
{
|
|
[TestFixture()]
|
|
public class CacheTests
|
|
{
|
|
[Test()]
|
|
public void TestCache()
|
|
{
|
|
Cache<int, int> cache = new Cache<int, int>();
|
|
cache.MaxCacheSize = 16;
|
|
|
|
for (int n = 0; n < 16; n++)
|
|
{
|
|
cache.Ensure(n, n);
|
|
}
|
|
|
|
Assert.AreEqual(16, cache.Count);
|
|
|
|
cache.MaxCacheSize = 8;
|
|
|
|
Assert.AreEqual(8, cache.Count);
|
|
|
|
for (int n = 0; n < 8; n++)
|
|
{
|
|
int v = 0;
|
|
Assert.IsFalse(cache.TryGet(n, out v));
|
|
}
|
|
for (int n = 8; n < 16; n++)
|
|
{
|
|
int v = 0;
|
|
Assert.IsTrue(cache.TryGet(n, out v));
|
|
}
|
|
|
|
cache.Clear();
|
|
Assert.AreEqual(0, cache.Count);
|
|
}
|
|
}
|
|
}
|