public void TryParseInsRefTest() { Assert.IsTrue(InsRef.TryParse("1", out InsRef insRef)); Assert.AreEqual(1ul, insRef); Assert.IsTrue(InsRef.TryParse("1".GetBytes(), out insRef)); Assert.AreEqual(1ul, insRef); Assert.IsTrue(InsRef.TryParse("0", out insRef)); Assert.AreEqual(0ul, insRef); Assert.IsTrue(InsRef.TryParse("0".GetBytes(), out insRef)); Assert.AreEqual(0ul, insRef); Assert.IsTrue(InsRef.TryParse(ulong.MaxValue.ToString(), out insRef)); Assert.AreEqual(ulong.MaxValue, insRef); Assert.IsTrue(InsRef.TryParse(ulong.MaxValue.ToString().GetBytes(), out insRef)); Assert.AreEqual(ulong.MaxValue, insRef); Assert.IsFalse(InsRef.TryParse("-1", out insRef)); Assert.AreEqual(default, insRef);
private static void ParseListTest(string s, ListPrefix prefix, params InsRef[] insRefs) { Assert.IsFalse(string.IsNullOrEmpty(s)); Assert.IsNotNull(insRefs); void Verify(List list) { Assert.AreEqual(insRefs.Length, list.Count); Assert.AreEqual(prefix, list.Prefix); if (prefix != ListPrefix.Undefined) { Assert.AreEqual(s[0], list.PrefixCharacter); } Assert.IsNotNull(list.GetEnumerator()); for (int i = 0; i < insRefs.Length; ++i) { InsRef insRef = insRefs[i]; Assert.IsTrue(list.Contains(insRef)); Assert.AreEqual(list[i], insRef); } int index = 0; foreach (InsRef insRef in list) { Assert.AreEqual(insRefs[index++], insRef); } Assert.AreEqual(s.Trim(), list.ToString()); } Assert.IsTrue(List.TryParse(s, out List list)); Verify(list); Assert.IsTrue(List.TryParse(s.GetBytes(), out list)); Verify(list); }