public void CreateCommitTest() { this.treeOperation.Setup(t => t.WriteTree()).Returns("tree-oid"); this.dataProvider.Setup(d => d.GetRef("HEAD", true)).Returns(RefValue.Create(false, "master-first-oid")); this.dataProvider.Setup(d => d.GetObject("master-first-oid", "commit")).Returns(string.Join("\n", new[] { "tree master-tree-oid", "", "this is message." }).Encode()); this.treeOperation.Setup(d => d.GetTree("master-tree-oid", "")).Returns(new Tree() { { "hello.txt", "hello.oid" } }); this.treeOperation.Setup(d => d.GetIndexTree()).Returns(new Tree() { { "hello.txt", "hello.oid" }, { "ugit.txt", "ugit.oid" } }); this.dataProvider.Setup(d => d.GetRef("MERGE_HEAD", true)).Returns(RefValue.Create(false, "merge-head-oid")); this.dataProvider.Setup(d => d.DeleteRef("MERGE_HEAD", false)); string commit = "tree tree-oid\nparent master-first-oid\nparent merge-head-oid\n\nhello foo\n"; this.dataProvider.Setup(d => d.WriteObject(It.Is <byte[]>(i => i.Length == commit.Encode().Length), "commit")).Returns("commit-oid"); dataProvider.Setup(d => d.UpdateRef("HEAD", It.Is <RefValue>(i => !i.Symbolic && i.Value == "commit-oid"), true)); string actual = commitOperation.CreateCommit("hello foo"); Assert.AreEqual("commit-oid", actual); }
private static void Commit(string message) { try { Console.WriteLine(CommitOperation.CreateCommit(message)); } catch (UgitException e) { Console.WriteLine(e.Message); } }