class Spectator::ReferenceMockRegistry

Overview

Stores collections of stubs for mocked reference (class) types.

This type is intended for all mocked reference types that have functionality "injected." That is, the type itself has mock functionality bolted on. Adding instance members should be avoided, for instance, it could mess up serialization. This registry works around that by mapping mocks (via their memory address) to a collection of stubs. Doing so prevents adding data to the mocked type.

Defined in:

spectator/mocks/reference_mock_registry.cr

Constructors

Instance Method Summary

Instance methods inherited from class Object

should(matcher : Spectator::Matchers::TypeMatcher(U), message = nil, *, _file = __FILE__, _line = __LINE__) forall U
should(matcher, message = nil, *, _file = __FILE__, _line = __LINE__)
should
, should_eventually(matcher, message = nil, *, _file = __FILE__, _line = __LINE__) should_eventually, should_never(matcher, message = nil, *, _file = __FILE__, _line = __LINE__) should_never, should_not(matcher : Spectator::Matchers::TypeMatcher(U), message = nil, *, _file = __FILE__, _line = __LINE__) forall U
should_not(matcher : Spectator::Matchers::NilMatcher, message = nil, *, _file = __FILE__, _line = __LINE__)
should_not(matcher, message = nil, *, _file = __FILE__, _line = __LINE__)
should_not

Constructor Detail

def self.new #

Creates an empty registry.


[View source]

Instance Method Detail

def [](object : Reference) #

Retrieves all stubs defined for a mocked object.


[View source]
def []?(object : Reference) #

Retrieves all stubs defined for a mocked object or nil if the object isn't mocked yet.


[View source]
def delete(object : Reference) : Nil #

Clears all stubs defined for a mocked object.


[View source]
def fetch(object : Reference, & : -> Array(Stub)) #

Retrieves all stubs defined for a mocked object.

Yields to the block on the first retrieval. This allows a mock to populate the registry with initial stubs.


[View source]