Update to NUnit Tests

dev_timestamp
Harald Wolff 2019-09-19 08:46:37 +02:00
parent 0ffdfb59cf
commit 71abdd8f00
4 changed files with 90 additions and 15 deletions

View File

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

View File

@ -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];

View File

@ -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)

View File

@ -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">