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)); }