public void ReadCharacterQuartet_InterspersedWhitespace()
 {
     char[] buffer = new char[4];
     using (var inputReader = new StringReader(" f r e d "))
     {
         Assert.AreEqual(4, Base64DecodingStream.ReadCharacterQuartet(inputReader, buffer));
         CollectionAssert.AreEqual("fred", buffer);
     }
 }
 public void OneExtraCharacter_ThrowsFormatException()
 {
     using (var inputReader = new StringReader("Zm9vY"))
     {
         using (var decodedStream = new Base64DecodingStream(inputReader))
         {
             Assert.Throws <FormatException>(() => Console.WriteLine(decodedStream.AsString(Encoding.UTF8)));
         }
     }
 }
 public void MissingPadChars(string input, string expectedOutput)
 {
     using (var inputReader = new StringReader(input))
     {
         using (var decodedStream = new Base64DecodingStream(inputReader))
         {
             Assert.AreEqual(expectedOutput, decodedStream.AsString(Encoding.UTF8));
         }
     }
 }
 public void ReadCharacterQuartet_IncompleteQuartetAndWhitespaceAtEnd()
 {
     char[] buffer = new char[4];
     using (var inputReader = new StringReader("fr  "))
     {
         Assert.AreEqual(2, Base64DecodingStream.ReadCharacterQuartet(inputReader, buffer));
         Assert.AreEqual('f', buffer[0]);
         Assert.AreEqual('r', buffer[1]);
     }
 }
 public void ReadCharacterQuartet_Empty()
 {
     char[] buffer = new char[4];
     using (var inputReader = new StringReader(""))
     {
         Assert.AreEqual(0, Base64DecodingStream.ReadCharacterQuartet(inputReader, buffer));
         for (int i = 0; i < 4; i++)
         {
             Assert.AreEqual(0, buffer[i]);
         }
     }
 }
        public void LongBase64String_ShortBufferSize()
        {
            string filename = @"C:\Users\epohl\Dropbox\projects\Base64Streaming\Base64Streaming.Test\base64.txt";

            using (var inputStream = File.Open(filename, FileMode.Open, FileAccess.Read))
            {
                var inputReader = new StreamReader(inputStream);
                using (var decodedStream = new Base64DecodingStream(inputReader))
                {
                    Console.WriteLine(decodedStream.AsString(Encoding.UTF8));
                }
            }
        }
        public void Test1(string expected)
        {
            byte[] bytes  = Encoding.UTF8.GetBytes(expected);
            string base64 = Convert.ToBase64String(bytes);

            Console.WriteLine("{0} => {1}", expected, base64);
            var textReader = new StringReader(base64);

            using (var stream = new Base64DecodingStream(textReader))
            {
                Assert.AreEqual(expected, stream.AsString(Encoding.UTF8));
            }
        }
 public void ValueFromChar2(char c, uint expected)
 {
     Assert.AreEqual(expected, Base64DecodingStream.ValueFromChar2((uint)c));
 }