public void Should_Encode_String() { // Arrange var xe = new XorEncoder(0x89); var message = "test_string"; var expected = "/ez6/db6/fvg5+4="; // Act var encodedMessage = xe.Encode(message); // Assert Assert.True(string.Equals(encodedMessage, expected), $"Expected: {expected}; Actual: {encodedMessage}"); }
public void Should_Encode_And_Decode_String() { // Arrange var xe = new XorEncoder(0x13); var message = "encrypt_and_decrypt"; // Act var encodedMessage = xe.Encode(message); var decodedMessage = xe.Decode(encodedMessage); // Assert Assert.True(string.Equals(decodedMessage, message), $"Expected: {message}; Actual: {decodedMessage}"); }
public async Task EncodeStringTestAsync() { var rnd = new Random(); var xorName = new byte[32]; rnd.NextBytes(xorName); var typeTag = 16000UL; var contentType = ContentType.Wallet; var dataType = DataType.UnpublishedImmutableData; var encodedString = await XorEncoder.EncodeAsync( xorName, typeTag, dataType, contentType, null, null, 0, "base32z"); Assert.IsNotNull(encodedString); Assert.IsTrue(encodedString.StartsWith("safe://", StringComparison.Ordinal)); var xorUrlEncoder = await XorEncoder.EncodeAsync( xorName, typeTag, dataType, contentType, null, null, 0); Assert.AreEqual(xorName, xorUrlEncoder.XorName); Validate.Encoder(xorUrlEncoder, dataType, (ContentType)contentType, typeTag); var parsedEncoder = await XorEncoder.XorUrlEncoderFromUrl(encodedString); Assert.AreEqual(xorName, parsedEncoder.XorName); Validate.Encoder(parsedEncoder, dataType, contentType, typeTag); Assert.AreEqual(typeTag, parsedEncoder.TypeTag); Assert.AreEqual(contentType, parsedEncoder.ContentType); Assert.AreEqual(0, parsedEncoder.ContentVersion); }
public static async Task XorUrlAsync(string xorUrl, DataType expectedDataType, ContentType expectedContentType, ulong expectedTypeTag) { var encoder = await XorEncoder.XorUrlEncoderFromUrl(xorUrl); Encoder(encoder, expectedDataType, expectedContentType, expectedTypeTag); }