Esempio n. 1
0
        public void T06_RecordKeyDelimiterEscape()
        {
            string DELIM = new String(RecordKey.PRINTED_DELIMITER, 1);

            RecordKey key1 = new RecordKey();
            key1.appendKeyParts("1", "2", "3");
            Assert.AreEqual(3, key1.numParts());
            RecordKey dkey1 = new RecordKey(key1.encode());
            Assert.AreEqual(3, dkey1.numParts(), "dkey1 delimiter decode");

            RecordKey key2 = new RecordKey();
            key2.appendKeyPart("1" + DELIM + "2" + DELIM + "3");
            Assert.AreEqual(1, key2.numParts());
            RecordKey dkey2 = new RecordKey(key2.encode());
            Assert.AreEqual(1, dkey2.numParts(), "dkey2 delimiter decode");

            // key2 > key1
            Assert.AreEqual(1, key2.CompareTo(key1));
            Assert.AreEqual(-1, key1.CompareTo(key2));
        }
Esempio n. 2
0
        public void T02b_RecordKeyNesting()
        {
            String[] parts1 = { "aaaa", "bbbb" };
            String[] parts2 = { "xxxx", "yyyy", "zzzz" };

            RecordKey nestedkey = new RecordKey();
            nestedkey.appendKeyParts(parts2);

            RecordKey parentkey = new RecordKey();
            parentkey.appendKeyPart(parts1[0]); // "aaaa"
            parentkey.appendKeyPart(nestedkey.encode());  // (xxxx,yyyy,zzzz)
            parentkey.appendKeyPart(parts1[1]); // "bbbb"

            RecordKey decodedkey = new RecordKey(parentkey.encode());

            Assert.AreEqual(decodedkey.ToString(), parentkey.ToString(), "tostring versions of keys don't match");
            Assert.AreEqual(decodedkey.numParts(), parentkey.numParts(), "nested delimiters are changing number of keyparts");

            Assert.AreEqual(decodedkey, parentkey, "nested key encode/decode error");
        }