public void Test_CacheDirectory_Control_Writer_Write_Matches_Cache_Writer()
        {
            Directory controlDirectory = CreateRamDirectory();
            var controlOutputFile = controlDirectory.CreateOutput("myfile");
            var cacheOutputFile = directory.CreateOutput("myfile");
            var fakeText = new ET.FakeText.TextGenerator().GenerateText(1000);
            var fakeTextBytes = Encoding.ASCII.GetBytes(fakeText);

            for (int i = 0; i < fakeTextBytes.Length;i++)
            {
                cacheOutputFile.WriteByte(fakeTextBytes[i]);
                controlOutputFile.WriteByte(fakeTextBytes[i]);
            }
            cacheOutputFile.Dispose();
            controlOutputFile.Dispose();

            // begin read phase
            var fsInputFile = controlDirectory.OpenInput("myfile");
            var cacheInputFile = directory.OpenInput("myfile");

            byte[] cacheBuffer = new byte[fakeTextBytes.Length];
            byte[] fsBuffer = new byte[fakeTextBytes.Length];

            cacheInputFile.ReadBytes(cacheBuffer, 0, cacheBuffer.Length);
            fsInputFile.ReadBytes(fsBuffer, 0, fsBuffer.Length);

            for (int b = 0; b < cacheBuffer.Length; b++)
            {
                Assert.AreEqual(cacheBuffer[b], fsBuffer[b],
                    string.Format("Byte {0} expected {1} actual {2}", b, fsBuffer[b], cacheBuffer[b]));
            }
        }
 public void Test_CacheInputStream_Read()
 {
     string testString = new ET.FakeText.TextGenerator().GenerateText(100);
     byte[] bytes = Encoding.ASCII.GetBytes(testString);
     byte[] buffer = new byte[1024];
 }