I noticed there's a discrepancy between FileSystem and MockFileSystem when returning a FileInfoBase for a directory path. Trying to access the FileInfoBase.Length property for an object returned by FileSystem results in a FileNotFoundException while the object from MockFileSystem is just 0.
It seems the MockFileSystem should also throw an exception to follow the .NET behaviour.