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");
        }
		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");
		}