public void MakeClone_NoProblems_MakesClone() { using (var repo = new RepositorySetup("source")) using (var f = new TemporaryFolder("clonetest")) { var model = new CloneFromUsb(); var progress = new ConsoleProgress(); progress.ShowVerbose = true; model.MakeClone(repo.ProjectFolder.Path, f.Path, progress); Assert.IsTrue(Directory.Exists(f.Combine(RepositorySetup.ProjectName, ".hg"))); } }
public void MakeClone_TargetExists_CreatesCloneInWhenTargetIsEmpty() { using (var repo = new RepositorySetup("source")) using (var f = new TemporaryFolder("clonetest")) { var model = new CloneFromUsb(); var progress = new ConsoleProgress(); progress.ShowVerbose = true; var extantFolder = f.Combine(RepositorySetup.ProjectName); Directory.CreateDirectory(extantFolder); var cloneFolder = model.MakeClone(repo.ProjectFolder.Path, f.Path, progress); Assert.AreEqual(extantFolder, cloneFolder); Assert.IsTrue(Directory.Exists(extantFolder)); Assert.IsFalse(Directory.Exists(extantFolder + "1")); } }
public void MakeClone_TargetExists_CreatesCloneInAnotherFolder() { using (var repo = new RepositorySetup("source")) using (var f = new TemporaryFolder("clonetest")) { var model = new CloneFromUsb(); var progress = new ConsoleProgress(); progress.ShowVerbose = true; var extantFolder = f.Combine(RepositorySetup.ProjectName); Directory.CreateDirectory(extantFolder); // Make a subfolder, which will force it to make a new folder, since an empty folder is deleted. var extantSubfolderPath = Path.Combine(extantFolder, "ChildFolder"); Directory.CreateDirectory(extantSubfolderPath); var cloneFolder = model.MakeClone(repo.ProjectFolder.Path, f.Path, progress); Assert.AreEqual(extantFolder + "1", cloneFolder); Assert.IsTrue(Directory.Exists(extantFolder + "1")); } }