public void TestBase64DecodePatterns() { var decoder = new Base64Decoder(); var output = new byte[4096]; Assert.AreEqual(ContentEncoding.Base64, decoder.Encoding); for (int i = 0; i < base64EncodedPatterns.Length; i++) { decoder.Reset(); var buf = Encoding.ASCII.GetBytes(base64EncodedPatterns[i]); int n = decoder.Decode(buf, 0, buf.Length, output); var actual = Encoding.ASCII.GetString(output, 0, n); Assert.AreEqual(base64DecodedPatterns[i], actual, "Failed to decode base64EncodedPatterns[{0}]", i); } for (int i = 0; i < base64EncodedLongPatterns.Length; i++) { decoder.Reset(); var buf = Encoding.ASCII.GetBytes(base64EncodedLongPatterns[i]); int n = decoder.Decode(buf, 0, buf.Length, output); for (int j = 0; j < n; j++) { Assert.AreEqual(output[j], (byte)(j + i), "Failed to decode base64EncodedLongPatterns[{0}]", i); } } }
public void TestBase64Decode() { using (var original = new MemoryStream()) { using (var file = File.OpenRead("../../TestData/encoders/photo.jpg")) file.CopyTo(original, 4096); using (var decoded = new MemoryStream()) { using (var file = File.OpenRead("../../TestData/encoders/photo.b64")) { using (var filtered = new FilteredStream(file)) { filtered.Add(DecoderFilter.Create(ContentEncoding.Base64)); filtered.CopyTo(decoded, 4096); } } var buf0 = original.GetBuffer(); var buf1 = decoded.GetBuffer(); int n = (int)original.Length; Assert.AreEqual(original.Length, decoded.Length, "Decoded length is incorrect."); for (int i = 0; i < n; i++) { Assert.AreEqual(buf0[i], buf1[i], "The byte at offset {0} does not match.", i); } } } var decoder = new Base64Decoder(); var output = new byte[4096]; Assert.AreEqual(ContentEncoding.Base64, decoder.Encoding); for (int i = 0; i < base64EncodedPatterns.Length; i++) { decoder.Reset(); var buf = Encoding.ASCII.GetBytes(base64EncodedPatterns[i]); int n = decoder.Decode(buf, 0, buf.Length, output); var actual = Encoding.ASCII.GetString(output, 0, n); Assert.AreEqual(base64DecodedPatterns[i], actual, "Failed to decode base64EncodedPatterns[{0}]", i); } for (int i = 0; i < base64EncodedLongPatterns.Length; i++) { decoder.Reset(); var buf = Encoding.ASCII.GetBytes(base64EncodedLongPatterns[i]); int n = decoder.Decode(buf, 0, buf.Length, output); for (int j = 0; j < n; j++) { Assert.AreEqual(output[j], (byte)(j + i), "Failed to decode base64EncodedLongPatterns[{0}]", i); } } }
public override void Reset() { _codecDecoder.Reset(); }