2018-04-26 11:31:37 +02:00
|
|
|
require_relative "helper"
|
2014-06-25 15:00:24 +02:00
|
|
|
|
2018-04-26 11:31:37 +02:00
|
|
|
module Parfait
|
|
|
|
class TestDictionary < ParfaitTest
|
2014-06-25 15:00:24 +02:00
|
|
|
|
2018-04-26 11:31:37 +02:00
|
|
|
def setup
|
|
|
|
super
|
|
|
|
@lookup = ::Parfait::Dictionary.new
|
2014-06-25 15:00:24 +02:00
|
|
|
end
|
2018-04-26 11:31:37 +02:00
|
|
|
def test_dict_create
|
|
|
|
assert_equal 0 , @lookup.length
|
|
|
|
assert @lookup.empty?
|
|
|
|
end
|
|
|
|
def test_empty_dict_doesnt_return
|
|
|
|
assert_nil @lookup.get(3)
|
|
|
|
assert_nil @lookup.get(:any)
|
|
|
|
end
|
|
|
|
def test_one_set1
|
|
|
|
assert_equal 1 , @lookup.set(1,1)
|
|
|
|
assert_equal 1 , @lookup.length
|
|
|
|
end
|
|
|
|
def test_one_double
|
|
|
|
assert_equal 1 , @lookup.set(1,1)
|
|
|
|
assert_equal 3 , @lookup.set(1,3)
|
|
|
|
assert_equal 1 , @lookup.length
|
|
|
|
end
|
|
|
|
def test_one_double2
|
|
|
|
assert_equal 1 , @lookup.set(:one,1)
|
|
|
|
assert_equal 3 , @lookup.set(:one,3)
|
|
|
|
assert_equal 1 , @lookup.length
|
|
|
|
end
|
|
|
|
def test_one_set2
|
|
|
|
assert_equal :some , @lookup.set(1,:some)
|
|
|
|
end
|
|
|
|
def test_two_sets
|
|
|
|
assert_equal 1 , @lookup.set(1,1)
|
|
|
|
assert_equal :some , @lookup.set(1,:some)
|
|
|
|
end
|
|
|
|
def test_one_get1
|
|
|
|
test_one_set1
|
|
|
|
assert_equal 1 , @lookup.get(1)
|
|
|
|
end
|
|
|
|
def test_one_get2
|
|
|
|
test_one_set2
|
|
|
|
assert_equal :some , @lookup.get(1)
|
|
|
|
end
|
|
|
|
def test_inspect1
|
|
|
|
@lookup[:key] = :value
|
|
|
|
assert_equal "Dictionary{key => value ,}" , @lookup.inspect
|
|
|
|
end
|
|
|
|
def test_inspect2
|
|
|
|
@lookup[:key1] = :value1
|
|
|
|
@lookup[:key2] = :value2
|
|
|
|
assert_equal "Dictionary{key1 => value1 ,key2 => value2 ,}" , @lookup.inspect
|
|
|
|
end
|
|
|
|
def test_many_get
|
|
|
|
shouldda = { :one => 1 , :two => 2 , :three => 3}
|
|
|
|
shouldda.each do |k,v|
|
|
|
|
@lookup.set(k,v)
|
|
|
|
end
|
|
|
|
@lookup.each do |k,v|
|
|
|
|
assert_equal v , shouldda[k]
|
|
|
|
end
|
|
|
|
end
|
|
|
|
def test_values
|
|
|
|
@lookup[2] = 2
|
|
|
|
assert @lookup.values.get_length == 1
|
|
|
|
end
|
|
|
|
def test_keys
|
|
|
|
@lookup[2] = 2
|
|
|
|
assert @lookup.keys.get_length == 1
|
|
|
|
end
|
|
|
|
def test_override_exising
|
|
|
|
@lookup[2] = 2
|
|
|
|
@lookup[2] = :two
|
|
|
|
assert @lookup[2] == :two
|
2014-06-25 15:00:24 +02:00
|
|
|
end
|
2016-12-29 17:50:10 +01:00
|
|
|
end
|
2018-05-13 12:03:04 +02:00
|
|
|
class TestDictionaryNextValue < ParfaitTest
|
|
|
|
def setup
|
|
|
|
super
|
|
|
|
@lookup = ::Parfait::Dictionary.new
|
|
|
|
@lookup[:key1] = :value1
|
|
|
|
@lookup[:key2] = :value2
|
|
|
|
@lookup[:key3] = :value3
|
|
|
|
end
|
|
|
|
def test_next_value_ok
|
|
|
|
assert_equal :value2 , @lookup.next_value(:value1)
|
|
|
|
end
|
|
|
|
def test_next_value_end
|
|
|
|
assert_equal :value3 , @lookup.next_value(:value2)
|
|
|
|
end
|
|
|
|
def test_next_value_not
|
|
|
|
assert_nil @lookup.next_value(:value3)
|
|
|
|
end
|
|
|
|
end
|
2014-06-25 15:00:24 +02:00
|
|
|
end
|