1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
# various classes used by the specs
module RSpec
module Expectations
module Helper
class CollectionWithSizeMethod
def initialize; @list = []; end
def size; @list.size; end
def push(item); @list.push(item); end
end
class CollectionWithLengthMethod
def initialize; @list = []; end
def length; @list.size; end
def push(item); @list.push(item); end
end
class CollectionWithCountMethod
def initialize; @list = []; end
def count; @list.count; end
def push(item); @list.push(item); end
end
class CollectionOwner
attr_reader :items_in_collection_with_size_method, :items_in_collection_with_length_method, :items_in_collection_with_count_method
def initialize
@items_in_collection_with_size_method = CollectionWithSizeMethod.new
@items_in_collection_with_length_method = CollectionWithLengthMethod.new
@items_in_collection_with_count_method = CollectionWithCountMethod.new
end
def add_to_collection_with_size_method(item)
@items_in_collection_with_size_method.push(item)
end
def add_to_collection_with_length_method(item)
@items_in_collection_with_length_method.push(item)
end
def add_to_collection_with_count_method(item)
@items_in_collection_with_count_method.push(item)
end
def items_for(arg)
return [1, 2, 3] if arg == 'a'
[1]
end
def items
@items_in_collection_with_size_method
end
end
end
end
end
|