public virtual void TestFileDistributionCalculator()
{
ByteArrayOutputStream output = new ByteArrayOutputStream();
TextWriter o = new TextWriter(output);
new FileDistributionCalculator(new Configuration(), 0, 0, o).Visit(new RandomAccessFile
(originalFsimage, "r"));
o.Close();
string outputString = output.ToString();
Sharpen.Pattern p = Sharpen.Pattern.Compile("totalFiles = (\\d+)\n");
Matcher matcher = p.Matcher(outputString);
NUnit.Framework.Assert.IsTrue(matcher.Find() && matcher.GroupCount() == 1);
int totalFiles = System.Convert.ToInt32(matcher.Group(1));
NUnit.Framework.Assert.AreEqual(NumDirs * FilesPerDir, totalFiles);
p = Sharpen.Pattern.Compile("totalDirectories = (\\d+)\n");
matcher = p.Matcher(outputString);
NUnit.Framework.Assert.IsTrue(matcher.Find() && matcher.GroupCount() == 1);
int totalDirs = System.Convert.ToInt32(matcher.Group(1));
// totalDirs includes root directory, empty directory, and xattr directory
NUnit.Framework.Assert.AreEqual(NumDirs + 4, totalDirs);
FileStatus maxFile = Sharpen.Collections.Max(writtenFiles.Values, new _IComparer_238
());
p = Sharpen.Pattern.Compile("maxFileSize = (\\d+)\n");
matcher = p.Matcher(output.ToString("UTF-8"));
NUnit.Framework.Assert.IsTrue(matcher.Find() && matcher.GroupCount() == 1);
NUnit.Framework.Assert.AreEqual(maxFile.GetLen(), long.Parse(matcher.Group(1)));
}