BloomTests.Book.BookStorageTests.SetBookName_FolderWithNameAlreadyExists_AddsANumberToName C# (CSharp) Method

SetBookName_FolderWithNameAlreadyExists_AddsANumberToName() private method

        public void SetBookName_FolderWithNameAlreadyExists_AddsANumberToName()
        {
            using (var original = new TemporaryFolder(_folder, "original"))
            using (var x = new TemporaryFolder(_folder, "foo"))
            using (var y = new TemporaryFolder(_folder, "foo1"))
            using (var z = new TemporaryFolder(_folder, "foo2"))
            {
                File.WriteAllText(Path.Combine(original.Path, "original.htm"), "<html><head> href='file://blahblah\\editMode.css' type='text/css' /></head><body><div class='bloom-page'></div></body></html>");

                var projectFolder = new TemporaryFolder("BookStorage_ProjectCollection");
                var collectionSettings = new CollectionSettings(Path.Combine(projectFolder.Path, "test.bloomCollection"));
                var storage = new BookStorage(original.Path, _fileLocator, new BookRenamedEvent(), collectionSettings);
                storage.Save();

                Directory.Delete(z.Path);
                //so, we ask for "foo", but should get "foo2", because there is already a foo and foo1
                var newBookName = Path.GetFileName(x.Path);
                storage.SetBookName(newBookName);
                var newPath = z.Combine("foo2.htm");
                Assert.IsTrue(Directory.Exists(z.Path), "Expected folder:" + z.Path);
                Assert.IsTrue(File.Exists(newPath), "Expected file:" + newPath);
            }
        }