public static void RoundtripString()
        {
            var signer       = new HmacUrlSigner <HMACSHA512>(Key);
            var signedString = signer.Sign(TestString);

            Assert.True(signer.Verify(signedString));
        }
        public static void RoundtripUri()
        {
            var signer    = new HmacUrlSigner <HMACSHA512>(Key);
            var signedUri = signer.Sign(TestUri);

            Assert.True(signer.Verify(signedUri));
        }
        public static void RoundtripStringWithFragment()
        {
            const string origUrl = "https://www.example.com#myFragment";

            var signer       = new HmacUrlSigner <HMACSHA512>(Key);
            var signedString = signer.Sign(origUrl);

            Assert.True(signer.Verify(signedString));
            Assert.EndsWith("#myFragment", signedString); // we want preserve fragment component

            var signedStringWithoutFragment = signedString.Replace("#myFragment", "");

            Assert.True(signer.Verify(signedStringWithoutFragment));
        }