public void GenerateFromDirectory_GeneratesTheManifest()
{
string dir = Path.GetTempFileName() + "_";
Directory.CreateDirectory(dir);
Directory.CreateDirectory(Path.Combine(dir, "abc"));
File.WriteAllText(Path.Combine(dir, "test1.txt"), "some text");
File.WriteAllText(Path.Combine(dir, "abc\\test2.txt"), "another text");
VersionManifest manifest = VersionManifest.GenerateFromDirectory("1.0.0", dir);
Assert.That(manifest, Is.Not.Null);
Assert.That(manifest.Version, Is.EqualTo("1.0.0"));
Assert.That(manifest.Files, Has.Count.EqualTo(2));
Assert.That(manifest.Files.ElementAt(0).Name, Is.EqualTo("test1.txt"));
Assert.That(manifest.Files.ElementAt(0).Checksum, Is.EqualTo("B94F6F125C79E3A5FFAA826F584C10D52ADA669E6762051B826B55776D05AED2"));
Assert.That(manifest.Files.ElementAt(0).Size, Is.EqualTo(9));
Assert.That(manifest.Files.ElementAt(1).Name, Is.EqualTo("abc\\test2.txt"));
Assert.That(manifest.Files.ElementAt(1).Checksum, Is.EqualTo("4895ECC6F0C011072AF486EA30A1239CAA1B297FB61ECACA8AC94D9C2071BE22"));
Assert.That(manifest.Files.ElementAt(1).Size, Is.EqualTo(12));
}