public void Z85RegularShouldHaveSameResultsAsSpanVersionTest(int seed, uint byteLength) { // arrange var data = new Span <byte>(MyData.CreatePseudoRandomByteArray(byteLength, seed)); var outputEncode = new Span <char>(new char[byteLength * 2]); var outputDecode = new Span <byte>(new byte[byteLength]); // act var resultEncodeRegular = Z85Extended.Encode(data.ToArray()); var resultEncodeSpan = Z85.Encode(data, outputEncode, out var encodeBytesConsumed, out var encodeCharsWritten); var resultDecodeRegular = Z85Extended.Decode(resultEncodeRegular); var resultDecodeSpan = Z85.Decode(outputEncode.Slice(0, encodeCharsWritten), outputDecode, out var decodeCharsConsumed, out var decodeBytesWritten); // assert // encode resultEncodeSpan.Should().Be(OperationStatus.Done); encodeBytesConsumed.Should().Be(data.Length); encodeCharsWritten.Should().Be(resultEncodeRegular.Length); outputEncode.Slice(0, encodeCharsWritten).ToString().Should().Be(resultEncodeRegular); // decode resultDecodeSpan.Should().Be(OperationStatus.Done); decodeCharsConsumed.Should().Be(resultEncodeRegular.Length); decodeBytesWritten.Should().Be(resultDecodeRegular.Length); outputDecode.Slice(0, decodeBytesWritten).ToArray().Should().BeEquivalentTo(resultDecodeRegular).And.BeEquivalentTo(data.ToArray()); }
public void MultipleEncodedStringsDecodeToSameBytes() { // arrange const string encoded1 = "00000"; const string encoded2 = "%nSc1"; // act var result1 = Sut.Decode(encoded1); var result2 = Sut.Decode(encoded2); // assert Assert.Equal(result1, result2); }
public void DecodeTest(DecodeInputData scenario, DecodeExpectedData expectedResult) { // arrange Span <byte> destination = scenario.CreateDestination().Span; // act var result = Sut.Decode( scenario.Source.Span, destination, out var charsConsumed, out var bytesWritten, scenario.IsFinalBlock); // assert expectedResult.AssertResult(result, charsConsumed, bytesWritten, destination); }
public void DecodeThrowsExceptionWhenInputHasWrongSizeTest(string encoded) { Assert.Throws <ArgumentOutOfRangeException>(() => Sut.Decode(encoded)); }
public void DecodeNullReturnsNullTest() { // ReSharper disable once AssignNullToNotNullAttribute Assert.Null(Sut.Decode(null)); }
public void DecodeTest(byte[] data, string encoded) { Assert.Equal(Sut.Decode(encoded), data); }