Update to NUnit Tests
parent
0ffdfb59cf
commit
71abdd8f00
|
@ -0,0 +1,41 @@
|
|||
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);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -5,6 +5,8 @@ using ln.types.odb.ng.storage;
|
|||
using System.IO;
|
||||
using System.Linq;
|
||||
using ln.types.odb.values;
|
||||
using ln.types.odb.ng.storage.fs;
|
||||
using ln.types.odb.ng.storage.session;
|
||||
namespace ln.types.test
|
||||
{
|
||||
[TestFixture()]
|
||||
|
@ -112,8 +114,52 @@ namespace ln.types.test
|
|||
|
||||
}
|
||||
|
||||
[TestCase()]
|
||||
public void TestConcurrentAccess()
|
||||
{
|
||||
using (IStorageContainer storageContainer = new FSStorageContainer("odb.test").Open())
|
||||
{
|
||||
using (
|
||||
SessionStorageContainer
|
||||
ssc1 = new SessionStorageContainer(storageContainer),
|
||||
ssc2 = new SessionStorageContainer(storageContainer)
|
||||
)
|
||||
{
|
||||
using (IStorage
|
||||
storage1 = ssc1.GetStorage("test2"),
|
||||
storage2 = ssc2.GetStorage("test2")
|
||||
)
|
||||
{
|
||||
Document origin = new Document();
|
||||
|
||||
public class Person
|
||||
origin["FeldA"] = "OriginalA";
|
||||
origin["FeldB"] = "OriginalB";
|
||||
origin["FeldC"] = "OriginalC";
|
||||
|
||||
storage1.Save(origin);
|
||||
|
||||
Document secondary = storage2.Load(origin.ID);
|
||||
|
||||
Assert.IsTrue(origin.ContentEquals(secondary));
|
||||
|
||||
secondary["FeldB"] = "ZweiB";
|
||||
storage2.Save(secondary);
|
||||
|
||||
Assert.IsFalse(origin.ContentEquals(secondary));
|
||||
|
||||
Document reloaded1 = storage1.Load(origin.ID);
|
||||
Assert.AreSame(reloaded1, origin);
|
||||
|
||||
Assert.IsTrue(secondary.ContentEquals(reloaded1));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public class Person
|
||||
{
|
||||
public String FirstName = "";
|
||||
public String[] MiddleNames = new string[0];
|
||||
|
|
|
@ -16,6 +16,7 @@ using ln.types.threads;
|
|||
using System.Collections.Generic;
|
||||
using ln.types.odb.ng.mappings;
|
||||
using System.Net;
|
||||
using ln.types.odb.ng.storage.session;
|
||||
|
||||
namespace ln.types.test
|
||||
{
|
||||
|
@ -79,20 +80,6 @@ namespace ln.types.test
|
|||
Console.WriteLine("Splitting Network: {0}", v6.ToCIDR());
|
||||
foreach (IPv6 subnet in v6.Split(4))
|
||||
Console.WriteLine(" {0}", subnet.ToCIDR());
|
||||
|
||||
return;
|
||||
|
||||
Logger.ConsoleLogger.MaxLogLevel = LogLevel.DEBUGDETAIL;
|
||||
Logging.Log(LogLevel.DEBUG, "ln.types.odb.ng test suite");
|
||||
|
||||
using (IStorageContainer fsContainer = new FSStorageContainer("."), container = new Session(fsContainer))
|
||||
{
|
||||
container.Open();
|
||||
|
||||
//TestStorage(container);
|
||||
TestMapper(container);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public static void ParseIPv6(string source)
|
||||
|
|
|
@ -37,6 +37,7 @@
|
|||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="TypesTests.cs" />
|
||||
<Compile Include="ODBTests.cs" />
|
||||
<Compile Include="CacheTests.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\ln.types.csproj">
|
||||
|
|
Loading…
Reference in New Issue