File Stream C#

using System;
using System.Collections.Generic;
using System.Text;
namespace Vestris.ResourceLibUnitTests
{
    public abstract class ByteUtils
    {
        public static void CompareBytes(byte[] expectedBytes, byte[] testedBytes)
        {
            Console.WriteLine("Expected: {0}:{1}", expectedBytes, expectedBytes.Length);
            Console.WriteLine("Tested: {0}:{1}", testedBytes, testedBytes.Length);
            StringBuilder expectedString = new StringBuilder();
            StringBuilder testedString = new StringBuilder();
            int errors = 0;
            for (int i = 0; i < Math.Min(expectedBytes.Length, testedBytes.Length); i++)
            {
                if (char.IsLetterOrDigit((char)testedBytes[i]))
                    testedString.Append((char)testedBytes[i]);
                else if (testedBytes[i] != 0)
                    testedString.AppendFormat("[{0}]", (int)testedBytes[i]);
                if (char.IsLetterOrDigit((char)expectedBytes[i]))
                    expectedString.Append((char)expectedBytes[i]);
                else if (expectedBytes[i] != 0)
                    expectedString.AppendFormat("[{0}]", (int)expectedBytes[i]);
                if (expectedBytes[i] != testedBytes[i])
                {
                    Console.WriteLine(expectedString.ToString());
                    Console.WriteLine(testedString.ToString());
                }
                if (expectedBytes[i] != testedBytes[i])
                {
                    Console.WriteLine(string.Format("Error at offset {0}, expected {1} got {2}",
                        i, expectedBytes[i], testedBytes[i]));
                    errors++;
                }
            }
            Assert.AreEqual(expectedBytes.Length, testedBytes.Length, "Invalid byte count.");
            Assert.IsTrue(errors == 0, "Errors in binary comparisons.");
        }
    }
}