private static void TestReadAndWrites(DiskIo stream)
{
FileHeaderBlock header = stream.LastCommittedHeader;
header = header.CloneEditable();
SubFileHeader node = header.CreateNewFile(SubFileName.CreateRandom());
header.CreateNewFile(SubFileName.CreateRandom());
header.CreateNewFile(SubFileName.CreateRandom());
SubFileStream ds = new SubFileStream(stream, node, header, false);
TestSingleByteWrite(ds);
TestSingleByteRead(ds);
TestCustomSizeWrite(ds, 5);
TestCustomSizeRead(ds, 5);
TestCustomSizeWrite(ds, BlockDataLength + 20);
TestCustomSizeRead(ds, BlockDataLength + 20);
stream.CommitChanges(header);
}