示例#1
0
        public void identifier_names_can_be_encoded_and_survive_a_round_trip()
        {
            var enc  = NanTags.EncodeVariableRef("HelloWorld", out var crush);
            var type = NanTags.TypeOf(enc);

            var enc2  = NanTags.EncodeVariableRef("Hel" + "lo" + "Wo" + 'r' + 'l' + 'd', out var crush2);
            var other = NanTags.EncodeVariableRef("HelloWorld2", out var crushOther);

            Console.WriteLine("Crush:   " + crush.ToString("X"));
            Console.WriteLine("Crush:   " + crushOther.ToString("X"));

            var checkCrush = NanTags.DecodeVariableRef(enc);

            Assert.That(checkCrush, Is.EqualTo(crush));

            Assert.That(type, Is.EqualTo(DataType.VariableRef));
            Assert.That(NanTags.AreEqual(enc, enc2), Is.True);
            Assert.That(NanTags.AreEqual(enc, other), Is.False);
            Assert.That(crush, Is.EqualTo(crush2));
            Assert.That(crush, Is.Not.EqualTo(crushOther));
        }