dfurodet edited this page Nov 22, 2011 · 1 revision


Occurrences let you specify a scheme for invoking a method within a scenario.

The most common occurrence is "invoked exactly N times", expressed by willInvoke(N). But you may need more sophisticated schemes sometimes.

The package com.vmware.lmock.checker.Occurrences define the following types of occurrences:

  • exactly(N): exactly N times (i.e. willInvoke(N) is strictly equivalent to willInvoke(exactly(N)))
  • any: can happen any number of times (including never)
  • atLeast(N): the expectation is met if and only if the invocation occurs N or more times
  • atMost: the expectation is met if the invocation does not occur more than N times (including never)
  • between(N,M): to meet the expectation, the invocation should occur at least N times and never more than M times

Please pay a careful attention when using occurrences, in the sense that their combinations may sometimes become confusing (for example, the same invocation that should happen at most 3 times and then exactly one time). Lmock does not implement any mechanism to prevent from ambiguous occurrence specifications.