module RIMS::Test::KeyValueStoreTestUtility
Public Instance Methods
db_close()
click to toggle source
# File lib/rims/test.rb, line 246 def db_close @db.close end
db_closed?()
click to toggle source
# File lib/rims/test.rb, line 250 def db_closed? @db.closed? end
db_closed_delete_error()
click to toggle source
# File lib/rims/test.rb, line 281 def db_closed_delete_error db_closed_error end
db_closed_each_key_error()
click to toggle source
# File lib/rims/test.rb, line 289 def db_closed_each_key_error db_closed_error end
db_closed_each_pair_error()
click to toggle source
# File lib/rims/test.rb, line 297 def db_closed_each_pair_error db_closed_error end
db_closed_each_value_error()
click to toggle source
# File lib/rims/test.rb, line 293 def db_closed_each_value_error db_closed_error end
db_closed_error()
click to toggle source
# File lib/rims/test.rb, line 269 def db_closed_error RuntimeError end
db_closed_fetch_error()
click to toggle source
# File lib/rims/test.rb, line 273 def db_closed_fetch_error db_closed_error end
db_closed_key_error()
click to toggle source
# File lib/rims/test.rb, line 285 def db_closed_key_error db_closed_error end
db_closed_store_error()
click to toggle source
# File lib/rims/test.rb, line 277 def db_closed_store_error db_closed_error end
db_each_key() { |key| ... }
click to toggle source
# File lib/rims/test.rb, line 262 def db_each_key return enum_for(:db_each_key) unless block_given? @db.each_key do |key| yield(key) end end
db_fetch(key)
click to toggle source
# File lib/rims/test.rb, line 254 def db_fetch(key) @db[key] end
db_key?(key)
click to toggle source
# File lib/rims/test.rb, line 258 def db_key?(key) @db.key? key end
make_key_value_store()
click to toggle source
# File lib/rims/test.rb, line 242 def make_key_value_store raise NotImplementedError, 'not implemented.' end
open_database()
click to toggle source
# File lib/rims/test.rb, line 238 def open_database raise NotImplementedError, "not implemented to open `#{@name}'" end
setup()
click to toggle source
# File lib/rims/test.rb, line 301 def setup @base_dir = 'kvs_test_dir' FileUtils.mkdir_p(@base_dir) @name = File.join(@base_dir, "kvs_test.db.#{$$}") @db = open_database @kvs = make_key_value_store end
teardown()
click to toggle source
# File lib/rims/test.rb, line 310 def teardown db_close unless db_closed? FileUtils.rm_rf(@base_dir) end
test_close()
click to toggle source
# File lib/rims/test.rb, line 397 def test_close @kvs.close assert_equal(true, db_closed?) # closed exception assert_raise(db_closed_fetch_error) { @kvs['foo'] } assert_raise(db_closed_store_error) { @kvs['foo'] = 'apple' } assert_raise(db_closed_delete_error) { @kvs.delete('foo') } assert_raise(db_closed_key_error) { @kvs.key? 'foo' } assert_raise(db_closed_each_key_error) { @kvs.each_key.to_a } assert_raise(db_closed_each_value_error) { @kvs.each_value.to_a } assert_raise(db_closed_each_pair_error) { @kvs.each_pair.to_a } end
test_delete()
click to toggle source
# File lib/rims/test.rb, line 329 def test_delete assert_nil(@kvs.delete('foo')) @kvs['foo'] = 'apple' assert_equal('apple', @kvs.delete('foo')) assert_nil(db_fetch('foo')) assert_nil(@kvs['foo']) end
test_each_key()
click to toggle source
# File lib/rims/test.rb, line 357 def test_each_key assert_equal(%w[], db_each_key.to_a) assert_equal(%w[], @kvs.each_key.to_a) @kvs['foo'] = 'apple' assert_equal(%w[ foo ], db_each_key.to_a) assert_equal(%w[ foo ], @kvs.each_key.to_a) assert_equal(%w[ apple ], @kvs.each_value.to_a) assert_equal([ %w[ foo apple ] ], @kvs.each_pair.to_a) @kvs['bar'] = 'banana' assert_equal(%w[ foo bar ].sort, db_each_key.sort) assert_equal(%w[ foo bar ].sort, @kvs.each_key.sort) assert_equal(%w[ apple banana ].sort, @kvs.each_value.sort) assert_equal([ %w[ foo apple ], %w[ bar banana ] ].sort, @kvs.each_pair.sort) @kvs['baz'] = 'orange' assert_equal(%w[ foo bar baz ].sort, db_each_key.sort) assert_equal(%w[ foo bar baz ].sort, @kvs.each_key.sort) assert_equal(%w[ apple banana orange ].sort, @kvs.each_value.sort) assert_equal([ %w[ foo apple ], %w[ bar banana ], %w[ baz orange ] ].sort, @kvs.each_pair.sort) @kvs.delete('bar') assert_equal(%w[ foo baz ].sort, db_each_key.sort) assert_equal(%w[ foo baz ].sort, @kvs.each_key.sort) assert_equal(%w[ apple orange ].sort, @kvs.each_value.sort) assert_equal([ %w[ foo apple ], %w[ baz orange ] ].sort, @kvs.each_pair.sort) # update @kvs['baz'] = 'melon' assert_equal(%w[ foo baz ].sort, db_each_key.sort) assert_equal(%w[ foo baz ].sort, @kvs.each_key.sort) assert_equal(%w[ apple melon ].sort, @kvs.each_value.sort) assert_equal([ %w[ foo apple ], %w[ baz melon ] ].sort, @kvs.each_pair.sort) end
test_key?()
click to toggle source
# File lib/rims/test.rb, line 339 def test_key? assert_equal(false, (db_key? 'foo')) assert_equal(false, (@kvs.key? 'foo')) @kvs['foo'] = 'apple' assert_equal(true, (db_key? 'foo')) assert_equal(true, (@kvs.key? 'foo')) # update @kvs['foo'] = 'banana' assert_equal(true, (db_key? 'foo')) assert_equal(true, (@kvs.key? 'foo')) @kvs.delete('foo') assert_equal(false, (db_key? 'foo')) assert_equal(false, (@kvs.key? 'foo')) end
test_store_fetch()
click to toggle source
# File lib/rims/test.rb, line 315 def test_store_fetch assert_nil(db_fetch('foo')) assert_nil(@kvs['foo']) assert_equal('apple', (@kvs['foo'] = 'apple')) assert_equal('apple', db_fetch('foo')) assert_equal('apple', @kvs['foo']) # update assert_equal('banana', (@kvs['foo'] = 'banana')) assert_equal('banana', db_fetch('foo')) assert_equal('banana', @kvs['foo']) end
test_sync()
click to toggle source
# File lib/rims/test.rb, line 393 def test_sync @kvs.sync end