public void T000_TestBasic_SubsetScanAll() { LayerManager db = new LayerManager(InitMode.NEW_REGION, "c:\\BENDtst\\subset"); var stage1 = new StepsStageSubset(new RecordKeyType_String("stage1"), db); var stage2 = new StepsStageSubset(new RecordKeyType_String("stage2"), db); string[] keys = new string[] { "1/2/3", "1/3/4", "1/5/3" }; foreach (var key in keys) { stage1.setValue(new RecordKey().appendParsedKey(key), RecordUpdate.WithPayload("st1 data:" + key)); stage2.setValue(new RecordKey().appendParsedKey(key), RecordUpdate.WithPayload("st2 data:" + key)); } // TODO: check the data contents also to make sure we actually saw the right rows { int count = 0; foreach (var row in stage1.scanForward(ScanRange<RecordKey>.All())) { var match_key = new RecordKey().appendParsedKey(keys[count]); Assert.True(match_key.CompareTo(row.Key) == 0, "scan key mismatch"); Console.WriteLine("scanned: " + row); count++; } Assert.AreEqual(keys.Length, count, "incorrect number of keys in stage1 scan"); } { int count = 0; foreach (var row in stage2.scanForward(ScanRange<RecordKey>.All())) { var match_key = new RecordKey().appendParsedKey(keys[count]); Assert.True(match_key.CompareTo(row.Key) == 0, "scan key mismatch"); Console.WriteLine("scanned: " + row); count++; } Assert.AreEqual(keys.Length, count, "incorrect number of keys in stage2 scan"); } }