ln.types/test/CacheTests.cs

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);
}
}
}