//This is a quick test for "ShouldCommit" public static void AssertShouldCommit() { var smallBatch = new CommitBatchPolicy(10); var bigBatch = new CommitBatchPolicy(1000); var reloadPositionCatchedUp = new ProjectionPosition(444, 440, 444); var rebuildFirstPositionCatchedUp = new ProjectionPosition(444, null, 444); var reloadCatchingUp900Uncomitted = new ProjectionPosition(999, 99, 8747235); if (smallBatch.ShouldCommit(reloadPositionCatchedUp) == false) { throw new InvalidOperationException("failed expectation: small batch to commit on " + nameof(reloadPositionCatchedUp)); } if (bigBatch.ShouldCommit(reloadPositionCatchedUp) == false) { throw new InvalidOperationException("failed expectation: big batch to commit on " + nameof(reloadPositionCatchedUp)); } if (smallBatch.ShouldCommit(rebuildFirstPositionCatchedUp) == false) { throw new InvalidOperationException("failed expectation: small batch to commit on " + nameof(rebuildFirstPositionCatchedUp)); } if (smallBatch.ShouldCommit(rebuildFirstPositionCatchedUp) == false) { throw new InvalidOperationException("failed expectation: big batch to commit on " + nameof(rebuildFirstPositionCatchedUp)); } if (smallBatch.ShouldCommit(reloadCatchingUp900Uncomitted) == false) { throw new InvalidOperationException("failed expectation: small batch to commit on " + nameof(reloadCatchingUp900Uncomitted)); } if (bigBatch.ShouldCommit(reloadCatchingUp900Uncomitted)) { throw new InvalidOperationException("failed expectation: big batch not to commit on " + nameof(reloadCatchingUp900Uncomitted)); } }