public static Guid FromCompactString(string compactGuidString) { const int tokCount = 22; if (compactGuidString.Length < tokCount) { throw new ArgumentException("compactGuidString to short to be valid"); } return(new Guid(SelectableEncoding.Decode(compactGuidString).ToArray())); }
public void TestDifferenceLengths() { var se = new SelectableEncoding(); foreach ( var s in new[] {"a", "aa", "aaa", "aaaa", "aaaaa", "aaaaaa", "aaaaaaa", "aaaaaaaa", "aaaaaaaaa", "aaaaaaaaaa"}) { var e0 = se.Encode(Encoding.UTF8.GetBytes(s)); var d = se.Decode(e0); var e1 = se.Encode(d.ToArray()); Assert.AreEqual(e0, e1); } }
public void TestDifferenceLengths() { var se = new SelectableEncoding(); foreach ( var s in new[] { "a", "aa", "aaa", "aaaa", "aaaaa", "aaaaaa", "aaaaaaa", "aaaaaaaa", "aaaaaaaaa", "aaaaaaaaaa" }) { var e0 = se.Encode(Encoding.UTF8.GetBytes(s)); var d = se.Decode(e0); var e1 = se.Encode(d.ToArray()); Assert.AreEqual(e0, e1); } }
public void TestRandom() { var r = new Random(0); var se = new SelectableEncoding(); for (var i = 0; i < 1024*1024; ++i) { var len = r.Next() & 63; var bytes = new byte[len]; r.NextBytes(bytes); var e0 = se.Encode(bytes); var d = se.Decode(e0); var e1 = se.Encode(d.ToArray()); Assert.AreEqual(e0, e1); } }
public void TestRandom() { var r = new Random(0); var se = new SelectableEncoding(); for (var i = 0; i < 1024 * 1024; ++i) { var len = r.Next() & 63; var bytes = new byte[len]; r.NextBytes(bytes); var e0 = se.Encode(bytes); var d = se.Decode(e0); var e1 = se.Encode(d.ToArray()); Assert.AreEqual(e0, e1); } }