public void InsertRange() { _transformDatabase.InsertRange(_values); // now the memory db should have the transformed values in them _memoryDatabase.EnumerateAggressively(3) .Should() .BeEquivalentTo(_expectValues, "Inserting values into a transform database should insert the transformed values into the underlying database."); }
public void Enumerate() { var db = new MemoryDatabase <string, int>(); var kt = new MockTransformer(); var vt = new MockTransformer(); var tdb = new TransformDatabase <string, int, int, string> ( db: db, keyTransformer: new ReverseTransformer <string, int>(kt), valueTransformer: vt ); tdb.InsertRange(new KeyValuePair <int, string>[] { new KeyValuePair <int, string>(1, "a"), new KeyValuePair <int, string>(2, "b"), new KeyValuePair <int, string>(3, "c"), }); tdb.EnumerateAggressively(3) .Should() .BeEquivalentTo(new KeyValuePair <int, string>[] { new KeyValuePair <int, string>(1, "a"), new KeyValuePair <int, string>(2, "b"), new KeyValuePair <int, string>(3, "c"), }); }
public void WorksIGuess() { var st = new StringTransformer(); // using (var fs = File.Open("copy.db", FileMode.OpenOrCreate)) using (var ms = new MemoryStream()) { using (var lowlevelDBIODevice = new StringDB5_0_0LowlevelDatabaseIODevice(ms, true)) using (var dbIODevice = new DatabaseIODevice(lowlevelDBIODevice)) using (var iodb = new IODatabase(dbIODevice)) using (var db = new TransformDatabase <byte[], byte[], string, string>(iodb, st, st)) { db.Insert("test", "value"); db.InsertRange(new KeyValuePair <string, string>[] { new KeyValuePair <string, string>("a,", "c,"), new KeyValuePair <string, string>("b,", "d,"), }); File.WriteAllBytes("sdb.db", ms.ToArray()); db.EnumerateAggressively(2) .Should() .BeEquivalentTo ( new KeyValuePair <string, string>[] { new KeyValuePair <string, string>("test", "value"), new KeyValuePair <string, string>("a,", "c,"), new KeyValuePair <string, string>("b,", "d,"), } ); } ms.Seek(0, SeekOrigin.Begin); // ms.CopyTo(fs); } }