public void ToolFormatConverter_TruncatesOutputFileInOverwriteMode()
{
// Using CPPCheck because its empty file format is the simplest
string emptyCppCheckLog = @"<?xml version=""1.0"" encoding=""UTF-8""?>
<results version=""2"">
<cppcheck version=""1.66""/>
<errors />
</results>";
using (var tempDir = new TempDirectory())
{
var inputFileName = tempDir.Write("input.xml", emptyCppCheckLog);
var expectedOutputFileName = tempDir.Combine("output_expected.xml");
_converter.ConvertToStandardFormat(ToolFormat.CppCheck, inputFileName, expectedOutputFileName);
string expectedOutput = File.ReadAllText(expectedOutputFileName, Encoding.UTF8);
var actualOutputFileName = tempDir.Write("output_actual.xml", new string('a', expectedOutput.Length + 4096));
_converter.ConvertToStandardFormat(ToolFormat.CppCheck, inputFileName, actualOutputFileName, ToolFormatConversionOptions.OverwriteExistingOutputFile);
string actualOutput = File.ReadAllText(actualOutputFileName, Encoding.UTF8);
Assert.AreEqual(expectedOutput, actualOutput);
}
}