public TransformerDatabaseTests() { _memoryDatabase = new MemoryDatabase <string, int>(); _keyTransformer = new MockTransformer(); _valueTransformer = new MockTransformer(); _transformDatabase = new TransformDatabase <string, int, int, string> ( db: _memoryDatabase, keyTransformer: _keyTransformer.Reverse(), valueTransformer: _valueTransformer ); _values = new[] { KeyValuePair.Create(1, "a"), KeyValuePair.Create(2, "b"), KeyValuePair.Create(3, "c"), }; _expectValues = _values .Select ( x => KeyValuePair.Create ( _keyTransformer.TransformPre(x.Key), _valueTransformer.TransformPost(x.Value) ) ) .ToArray(); }
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"), }); }