Пример #1
0
        public KeyValuePair<RecordKey, RecordData> FindNext(IComparable<RecordKey> keytest, bool equal_ok)
        {
            var nested_keytest = new RecordKeyComparator().appendKeyPart(this.subset_name).appendKeyPart(keytest);
            var rec = next_stage.FindNext(nested_keytest, equal_ok);
            if (this.subset_name.CompareTo(rec.Key.key_parts[0]) != 0) {
                throw new KeyNotFoundException("SubsetStage.FindNext: no more records");
            }
            RecordKeyType_RecordKey orig_key = (RecordKeyType_RecordKey)rec.Key.key_parts[1];

            // strip off the prefix

            return new KeyValuePair<RecordKey, RecordData>(orig_key.GetRecordKey(), rec.Value);
        }
Пример #2
0
        public void T12_RecordKey_Bug()
        {
            var testkey = new RecordKey().appendParsedKey(".zdata/index/fax");
            var jeskekey = new RecordKey().appendParsedKey(".zdata/index/jeske");
            var jeske2key = new RecordKey().appendParsedKey(".zdata/index/jeske").appendKeyPart("");
            var jeske2keyAP = RecordKey.AfterPrefix(jeske2key);

            Assert.True(jeskekey.CompareTo(testkey) > 0, "1");
            Assert.True(jeske2key.CompareTo(testkey) > 0, "2");
            Assert.True(jeske2keyAP.CompareTo(testkey) > 0, "3");

            RecordKeyComparator startrk = new RecordKeyComparator()
                            .appendKeyPart(jeske2key);

            Assert.True(startrk.CompareTo(testkey) > 0, "4");
        }
Пример #3
0
        public void T11_RecordKey_ComposableIComparableTest()
        {
            IComparable<RecordKey> start_keytest = new RecordKeyComparator()
                .appendParsedKey(".ROOT/GEN")
                .appendKeyPart(new RecordKeyType_Long(1))
                .appendKeyPart(RecordKey.AfterPrefix(new RecordKey().appendParsedKey("B")));

            var range_a = new RecordKey()
                .appendParsedKey(".ROOT/GEN")
                .appendKeyPart(new RecordKeyType_Long(1))
                .appendKeyPart(new RecordKey().appendKeyPart("A"));

            var range_c = new RecordKey()
                .appendParsedKey(".ROOT/GEN")
                .appendKeyPart(new RecordKeyType_Long(1))
                .appendKeyPart(new RecordKey().appendKeyPart("C"));

            Assert.True(start_keytest.CompareTo(range_a) > 0, "after range a");
            Assert.True(start_keytest.CompareTo(range_c) < 0, "before range c");

            var random_key = new RecordKey()
                .appendParsedKey(".ROOT/GEN")
                .appendKeyPart(new RecordKeyType_Long(1))
                .appendParsedKey("a");

            Assert.True(start_keytest.CompareTo(random_key) > 0, "should be after this random_key");
        }