public void PresetIsApp_XMatterIsFilledIn()
{
var code = HydrateBookCommand.Handle(new HydrateParameters()
{
Path = _bookFolder.FolderPath,
Preset = "app",
VernacularIsoCode = "en"
});
Assert.AreEqual(0, code, "Should return an exit code of 0, meaning it is happy.");
Debug.Write(File.ReadAllText(_eventualHtmlPath));
var dom = XmlHtmlConverter.GetXmlDomFromHtml(File.ReadAllText(_eventualHtmlPath));
AssertThatXmlIn.Dom(dom)
.HasAtLeastOneMatchForXpath("//div[contains(@class,'bookTitle')]/div[contains(@class, 'bloom-editable') and contains(text(), 'mudmen')]");
AssertThatXmlIn.Dom(dom)
.HasSpecifiedNumberOfMatchesForXpath("//div[@data-derived='copyright' and contains(text(),'Joe Author')]", 1);
AssertThatXmlIn.Dom(dom)
.HasSpecifiedNumberOfMatchesForXpath("//div[@data-book='originalAcknowledgments' and @lang='en' and contains(@class,'bloom-editable') and contains(text(),'Some Acknowledgments')]", 1);
AssertThatXmlIn.Dom(dom)
.HasSpecifiedNumberOfMatchesForXpath("//div[@data-book-attributes='frontCover' and @data-backgroundaudio='audio/SoundTrack1.mp3' and @data-backgroundaudiovolume='0.17']", 2);
AssertThatXmlIn.Dom(dom)
.HasSpecifiedNumberOfMatchesForXpath("//div[contains(@class,'frontCover') and @data-backgroundaudio='audio/SoundTrack1.mp3' and @data-backgroundaudiovolume='0.17']", 1);
}