Commits on Jul 24, 2013
  1. Exclude LRMockyAutomation.

    committed Jul 24, 2013
Commits on Jan 25, 2013
Commits on Jan 10, 2013
  1. As we always convert NSNulls in invocation parameters back to nil before

    matching, we need to special case NSNull when creating parameter matchers,
    using an IsNil matcher (rather than an isEqual matcher).
    committed Jan 10, 2013
  2. Hide the synchroniser implementation behind a simpler interface, using

    the mockery as a facade.
    committed Jan 10, 2013
  3. Use a synchroniser combined with states to test expectations that are

    satisfied asynchronously.
    committed Jan 10, 2013
Commits on Jan 9, 2013
  1. Better handling of nil parameter values.

    This implementation may run into problems if somebody is explicitly expecting
    NSNull - but this should be rare.
    committed Jan 9, 2013
Commits on Jan 8, 2013
  1. By making startsAs: return the state, we can use chaining and eliminate

    the extra method on LRMockery entirely.
    committed Jan 8, 2013
  2. Clean up old macros.

    committed Jan 8, 2013
  3. Updating the podspec.

    committed Jan 8, 2013
Commits on Jan 7, 2013
  1. Provide a unified interface for mocking classes and protocols.

    Give all mocks a default name.
    committed Jan 7, 2013
  2. The mockery no longer needs an imposterizer - they are self-contained

    within the LRMockObject class.
    If we ever need to make the imposterizer implementation an extension point,
    then we can add it back to the mockery and inject it into mocks as a
    dependency, but until then this is nicer.
    committed Jan 7, 2013
  3. By having the expectation builder act as an invokable itself, it can

    call the imposterizeTo: method on the mock imposter directly, shifting
    the assumption that a mock is defined by conformance to the Imposterizable
    protocol rather than the CaptureControl protocol.
    There was some semantic value to the CaptureControl protocol but ultimately
    it seemed like a layer of indirection too far.
    The LRExpectationsTest is able to much more easily create an imposterized
    mock object now without knowing the finer details of how it happens.
    committed Jan 7, 2013
  4. Because mock objects have their own imposterizer, they have everything

    they need to imposterize themselves, except the invokable target and
    ancilliary protocols.
    The additional 'imposterize' method is a special case that moves the 
    knowledge needed to imposterize the mock object (where itself is the
    target) including the LRCaptureControl protocol into the mock, where
    this knowledge belongs.
    committed Jan 7, 2013
Commits on Jan 6, 2013
  1. Created an OSX static library target and have the framework target

    just link to the Pods and OSX static library (with a dummy file to
    make sure it compiles).
    The unit and functional tests can link to the static library and the
    CocoaPods library without getting any duplicate symbol warnings.
    The examples link to the framework as this represents real life use.
    Various project cleanups.
    committed Jan 6, 2013
  2. Refactored conditional invocation matching to use constraint objects.

    Removing if statements and nil checks FTW!
    This will form the basis of the state implementation, and in the future
    sequences too.
    committed Jan 6, 2013
  3. A bit more code cleanup.

    I notice the actual implementation of parameter matching here was broken - 
    if the last parameter matched, it would always pass. Doh.
    committed Jan 6, 2013