public void DetectFileFormat_EnumConversions()
{
//ExStart
//ExFor:FileFormatUtil.DetectFileFormat(Stream)
//ExFor:FileFormatUtil.LoadFormatToExtension(LoadFormat)
//ExFor:FileFormatUtil.ExtensionToSaveFormat(String)
//ExFor:FileFormatUtil.SaveFormatToExtension(SaveFormat)
//ExFor:FileFormatUtil.LoadFormatToSaveFormat(LoadFormat)
//ExFor:Document.OriginalFileName
//ExFor:FileFormatInfo.LoadFormat
//ExSummary:Shows how to use the FileFormatUtil methods to detect the format of a document without any extension and save it with the correct file extension.
// Load the document without a file extension into a stream and use the DetectFileFormat method to detect it's format. These are both times where you might need extract the file format as it's not visible
FileStream docStream = File.OpenRead(MyDir + "Document.FileWithoutExtension"); // The file format of this document is actually ".doc"
FileFormatInfo info = FileFormatUtil.DetectFileFormat(docStream);
// Retrieve the LoadFormat of the document.
LoadFormat loadFormat = info.LoadFormat;
// Let's show the different methods of converting LoadFormat enumerations to SaveFormat enumerations.
//
// Method #1
// Convert the LoadFormat to a string first for working with. The string will include the leading dot in front of the extension.
string fileExtension = FileFormatUtil.LoadFormatToExtension(loadFormat);
// Now convert this extension into the corresponding SaveFormat enumeration
SaveFormat saveFormat = FileFormatUtil.ExtensionToSaveFormat(fileExtension);
// Method #2
// Convert the LoadFormat enumeration directly to the SaveFormat enumeration.
saveFormat = FileFormatUtil.LoadFormatToSaveFormat(loadFormat);
// Load a document from the stream.
Document doc = new Document(docStream);
// Save the document with the original file name, " Out" and the document's file extension.
doc.Save(MyDir + @"\Artifacts\Document.WithFileExtension" + FileFormatUtil.SaveFormatToExtension(saveFormat));
//ExEnd
Assert.AreEqual(".doc", FileFormatUtil.SaveFormatToExtension(saveFormat));
}