public void GetFileStatusTest() { var tempFolder = Environment.CurrentDirectory + "\\_gitscc_test_2"; var tempFile = Path.Combine(tempFolder, "test"); GitFileStatusTracker.Init(tempFolder); GitFileStatusTracker tracker = new GitFileStatusTracker(tempFolder); string[] lines = { "First line", "Second line", "Third line" }; File.WriteAllLines(tempFile, lines); tracker.Refresh(); Assert.AreEqual(GitFileStatus.New, tracker.GetFileStatus(tempFile)); tracker.StageFile(tempFile); tracker.Refresh(); Assert.AreEqual(GitFileStatus.Added, tracker.GetFileStatus(tempFile)); tracker.Commit("test"); tracker.Refresh(); Assert.AreEqual(GitFileStatus.Trackered, tracker.GetFileStatus(tempFile)); File.WriteAllText(tempFile, "changed text"); tracker.Refresh(); Assert.AreEqual(GitFileStatus.Modified, tracker.GetFileStatus(tempFile)); File.Delete(tempFile); tracker.Refresh(); Assert.AreEqual(GitFileStatus.Missing, tracker.GetFileStatus(tempFile)); tracker.RemoveFile(tempFile); tracker.Refresh(); Assert.AreEqual(GitFileStatus.Removed, tracker.GetFileStatus(tempFile)); }