public virtual void TestRevFilterReceivesParsedCommits() { RevCommit a = Commit(); RevCommit b = Commit(a); RevCommit c = Commit(b); AtomicBoolean filterRan = new AtomicBoolean(); RevFilter testFilter = new _RevFilter_68(filterRan); // Do an initial run through the walk filterRan.Set(false); rw.SetRevFilter(testFilter); MarkStart(c); rw.MarkUninteresting(b); for (RevCommit cmit = rw.Next(); cmit != null; cmit = rw.Next()) { } // Don't dispose the body here, because we want to test the effect // of marking 'b' as uninteresting. NUnit.Framework.Assert.IsTrue(filterRan.Get(), "filter ran"); // Run through the walk again, this time disposing of all commits. filterRan.Set(false); rw.Reset(); MarkStart(c); for (RevCommit cmit_1 = rw.Next(); cmit_1 != null; cmit_1 = rw.Next()) { cmit_1.DisposeBody(); } NUnit.Framework.Assert.IsTrue(filterRan.Get(), "filter ran"); // Do the third run through the reused walk. Test that the explicitly // disposed commits are parsed on this walk. filterRan.Set(false); rw.Reset(); MarkStart(c); for (RevCommit cmit_2 = rw.Next(); cmit_2 != null; cmit_2 = rw.Next()) { } // spin through the walk. NUnit.Framework.Assert.IsTrue(filterRan.Get(), "filter ran"); }