moneta 0.7.4 → 0.7.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. data/.gitignore +1 -2
  2. data/.travis.yml +20 -13
  3. data/CHANGES +5 -0
  4. data/Gemfile +24 -25
  5. data/LICENSE +1 -1
  6. data/README.md +32 -16
  7. data/Rakefile +36 -6
  8. data/lib/moneta/builder.rb +20 -6
  9. data/lib/moneta/mixins.rb +11 -4
  10. data/lib/moneta/version.rb +1 -1
  11. data/script/benchmarks +378 -0
  12. data/script/{generate-specs.rb → generate-specs} +92 -83
  13. data/script/install-bundle +26 -0
  14. data/script/kill-travis +16 -0
  15. data/script/start-services +8 -0
  16. data/script/upload-bundle +2 -0
  17. data/spec/helper.rb +9 -3
  18. data/spec/moneta/adapter_activerecord_spec.rb +1 -1
  19. data/spec/moneta/adapter_cassandra_spec.rb +1 -1
  20. data/spec/moneta/adapter_cassandra_with_default_expires_spec.rb +2 -2
  21. data/spec/moneta/adapter_client_spec.rb +1 -1
  22. data/spec/moneta/adapter_cookie_spec.rb +2 -2
  23. data/spec/moneta/adapter_couch_spec.rb +1 -1
  24. data/spec/moneta/adapter_datamapper_spec.rb +1 -1
  25. data/spec/moneta/adapter_daybreak_spec.rb +2 -2
  26. data/spec/moneta/adapter_dbm_spec.rb +1 -1
  27. data/spec/moneta/adapter_file_spec.rb +1 -1
  28. data/spec/moneta/adapter_fog_spec.rb +2 -2
  29. data/spec/moneta/adapter_gdbm_spec.rb +1 -1
  30. data/spec/moneta/adapter_hbase_spec.rb +1 -1
  31. data/spec/moneta/adapter_leveldb_spec.rb +1 -1
  32. data/spec/moneta/adapter_localmemcache_spec.rb +1 -1
  33. data/spec/moneta/adapter_lruhash_spec.rb +2 -2
  34. data/spec/moneta/adapter_memcached_dalli_spec.rb +1 -1
  35. data/spec/moneta/adapter_memcached_dalli_with_default_expires_spec.rb +1 -1
  36. data/spec/moneta/adapter_memcached_native_spec.rb +1 -1
  37. data/spec/moneta/adapter_memcached_native_with_default_expires_spec.rb +1 -1
  38. data/spec/moneta/adapter_memcached_spec.rb +1 -1
  39. data/spec/moneta/adapter_memcached_with_default_expires_spec.rb +1 -1
  40. data/spec/moneta/adapter_memory_spec.rb +19 -1
  41. data/spec/moneta/adapter_mongo_spec.rb +2 -2
  42. data/spec/moneta/adapter_mongo_with_default_expires_spec.rb +1 -1
  43. data/spec/moneta/adapter_pstore_spec.rb +1 -1
  44. data/spec/moneta/adapter_redis_spec.rb +1 -1
  45. data/spec/moneta/adapter_redis_with_default_expires_spec.rb +1 -1
  46. data/spec/moneta/adapter_restclient_spec.rb +1 -1
  47. data/spec/moneta/adapter_riak_spec.rb +1 -1
  48. data/spec/moneta/adapter_sdbm_spec.rb +1 -1
  49. data/spec/moneta/adapter_sequel_spec.rb +1 -1
  50. data/spec/moneta/adapter_sqlite_spec.rb +1 -1
  51. data/spec/moneta/adapter_tdb_spec.rb +1 -1
  52. data/spec/moneta/adapter_tokyocabinet_bdb_spec.rb +1 -1
  53. data/spec/moneta/adapter_tokyocabinet_hdb_spec.rb +1 -1
  54. data/spec/moneta/adapter_yaml_spec.rb +1 -1
  55. data/spec/moneta/cache_file_memory_spec.rb +2 -2
  56. data/spec/moneta/cache_memory_null_spec.rb +2 -2
  57. data/spec/moneta/expires_file_spec.rb +1 -1
  58. data/spec/moneta/expires_memory_spec.rb +19 -19
  59. data/spec/moneta/expires_memory_with_default_expires_spec.rb +19 -19
  60. data/spec/moneta/lock_spec.rb +19 -1
  61. data/spec/moneta/null_adapter_spec.rb +1 -1
  62. data/spec/moneta/optionmerger_spec.rb +14 -1
  63. data/spec/moneta/pool_spec.rb +1 -1
  64. data/spec/moneta/proxy_expires_memory_spec.rb +19 -1
  65. data/spec/moneta/proxy_redis_spec.rb +1 -1
  66. data/spec/moneta/shared_spec.rb +3 -3
  67. data/spec/moneta/simple_activerecord_spec.rb +1 -1
  68. data/spec/moneta/simple_activerecord_with_expires_spec.rb +1 -1
  69. data/spec/moneta/simple_cassandra_spec.rb +1 -1
  70. data/spec/moneta/simple_client_tcp_spec.rb +1 -1
  71. data/spec/moneta/simple_client_unix_spec.rb +1 -1
  72. data/spec/moneta/simple_couch_spec.rb +1 -1
  73. data/spec/moneta/simple_couch_with_expires_spec.rb +1 -1
  74. data/spec/moneta/simple_datamapper_spec.rb +1 -1
  75. data/spec/moneta/simple_datamapper_with_expires_spec.rb +1 -1
  76. data/spec/moneta/simple_datamapper_with_repository_spec.rb +1 -1
  77. data/spec/moneta/simple_daybreak_spec.rb +1 -1
  78. data/spec/moneta/simple_daybreak_with_expires_spec.rb +1 -1
  79. data/spec/moneta/simple_dbm_spec.rb +1 -1
  80. data/spec/moneta/simple_dbm_with_expires_spec.rb +1 -1
  81. data/spec/moneta/simple_file_spec.rb +1 -1
  82. data/spec/moneta/simple_file_with_expires_spec.rb +1 -1
  83. data/spec/moneta/simple_fog_spec.rb +1 -1
  84. data/spec/moneta/simple_fog_with_expires_spec.rb +1 -1
  85. data/spec/moneta/simple_gdbm_spec.rb +1 -1
  86. data/spec/moneta/simple_gdbm_with_expires_spec.rb +1 -1
  87. data/spec/moneta/simple_hashfile_spec.rb +1 -1
  88. data/spec/moneta/simple_hashfile_with_expires_spec.rb +1 -1
  89. data/spec/moneta/simple_hbase_spec.rb +1 -1
  90. data/spec/moneta/simple_hbase_with_expires_spec.rb +1 -1
  91. data/spec/moneta/simple_leveldb_spec.rb +1 -1
  92. data/spec/moneta/simple_leveldb_with_expires_spec.rb +1 -1
  93. data/spec/moneta/simple_localmemcache_spec.rb +1 -1
  94. data/spec/moneta/simple_localmemcache_with_expires_spec.rb +1 -1
  95. data/spec/moneta/simple_lruhash_spec.rb +1 -1
  96. data/spec/moneta/simple_lruhash_with_expires_spec.rb +1 -1
  97. data/spec/moneta/simple_memcached_dalli_spec.rb +1 -1
  98. data/spec/moneta/simple_memcached_native_spec.rb +1 -1
  99. data/spec/moneta/simple_memcached_spec.rb +1 -1
  100. data/spec/moneta/simple_memory_spec.rb +1 -1
  101. data/spec/moneta/simple_memory_with_compress_spec.rb +1 -1
  102. data/spec/moneta/simple_memory_with_expires_spec.rb +1 -1
  103. data/spec/moneta/simple_memory_with_json_key_serializer_spec.rb +1 -1
  104. data/spec/moneta/simple_memory_with_json_serializer_spec.rb +1 -1
  105. data/spec/moneta/simple_memory_with_json_value_serializer_spec.rb +1 -1
  106. data/spec/moneta/simple_memory_with_prefix_spec.rb +1 -1
  107. data/spec/moneta/simple_memory_with_snappy_compress_spec.rb +1 -1
  108. data/spec/moneta/simple_mongo_spec.rb +1 -1
  109. data/spec/moneta/simple_null_spec.rb +1 -1
  110. data/spec/moneta/simple_pstore_spec.rb +1 -1
  111. data/spec/moneta/simple_pstore_with_expires_spec.rb +1 -1
  112. data/spec/moneta/simple_redis_spec.rb +1 -1
  113. data/spec/moneta/simple_restclient_spec.rb +1 -1
  114. data/spec/moneta/simple_riak_spec.rb +1 -1
  115. data/spec/moneta/simple_riak_with_expires_spec.rb +1 -1
  116. data/spec/moneta/simple_sdbm_spec.rb +1 -1
  117. data/spec/moneta/simple_sdbm_with_expires_spec.rb +1 -1
  118. data/spec/moneta/simple_sequel_spec.rb +1 -1
  119. data/spec/moneta/simple_sequel_with_expires_spec.rb +1 -1
  120. data/spec/moneta/simple_sqlite_spec.rb +1 -1
  121. data/spec/moneta/simple_sqlite_with_expires_spec.rb +1 -1
  122. data/spec/moneta/simple_tdb_spec.rb +1 -1
  123. data/spec/moneta/simple_tdb_with_expires_spec.rb +1 -1
  124. data/spec/moneta/simple_tokyocabinet_spec.rb +1 -1
  125. data/spec/moneta/simple_tokyocabinet_with_expires_spec.rb +1 -1
  126. data/spec/moneta/simple_yaml_spec.rb +1 -1
  127. data/spec/moneta/simple_yaml_with_expires_spec.rb +1 -1
  128. data/spec/moneta/stack_file_memory_spec.rb +2 -2
  129. data/spec/moneta/stack_memory_file_spec.rb +3 -3
  130. data/spec/moneta/transformer_bencode_spec.rb +1 -1
  131. data/spec/moneta/transformer_bert_spec.rb +1 -1
  132. data/spec/moneta/transformer_bson_spec.rb +1 -1
  133. data/spec/moneta/transformer_bzip2_spec.rb +1 -1
  134. data/spec/moneta/transformer_json_spec.rb +1 -1
  135. data/spec/moneta/transformer_key_marshal_spec.rb +19 -19
  136. data/spec/moneta/transformer_key_yaml_spec.rb +19 -19
  137. data/spec/moneta/transformer_lzma_spec.rb +1 -1
  138. data/spec/moneta/transformer_lzo_spec.rb +1 -1
  139. data/spec/moneta/transformer_marshal_base64_spec.rb +1 -1
  140. data/spec/moneta/transformer_marshal_escape_spec.rb +1 -1
  141. data/spec/moneta/transformer_marshal_hmac_spec.rb +1 -1
  142. data/spec/moneta/transformer_marshal_md5_spec.rb +1 -1
  143. data/spec/moneta/transformer_marshal_md5_spread_spec.rb +1 -1
  144. data/spec/moneta/transformer_marshal_prefix_spec.rb +1 -1
  145. data/spec/moneta/transformer_marshal_rmd160_spec.rb +1 -1
  146. data/spec/moneta/transformer_marshal_sha1_spec.rb +1 -1
  147. data/spec/moneta/transformer_marshal_sha256_spec.rb +1 -1
  148. data/spec/moneta/transformer_marshal_sha384_spec.rb +1 -1
  149. data/spec/moneta/transformer_marshal_sha512_spec.rb +1 -1
  150. data/spec/moneta/transformer_marshal_spec.rb +1 -1
  151. data/spec/moneta/transformer_marshal_truncate_spec.rb +1 -1
  152. data/spec/moneta/transformer_marshal_uuencode_spec.rb +1 -1
  153. data/spec/moneta/transformer_msgpack_spec.rb +1 -1
  154. data/spec/moneta/transformer_ox_spec.rb +1 -1
  155. data/spec/moneta/transformer_quicklz_spec.rb +1 -1
  156. data/spec/moneta/transformer_snappy_spec.rb +1 -1
  157. data/spec/moneta/transformer_tnet_spec.rb +1 -1
  158. data/spec/moneta/transformer_value_marshal_spec.rb +1 -1
  159. data/spec/moneta/transformer_value_yaml_spec.rb +1 -1
  160. data/spec/moneta/transformer_yaml_spec.rb +1 -1
  161. data/spec/moneta/transformer_zlib_spec.rb +1 -1
  162. data/spec/monetaspecs.rb +655 -151
  163. metadata +8 -6
  164. data/benchmarks/run.rb +0 -327
  165. data/script/install-bundle.rb +0 -35
@@ -1,4 +1,4 @@
1
- # Generated by generate-specs.rb
1
+ # Generated by generate-specs
2
2
  require 'helper'
3
3
 
4
4
  describe_moneta "transformer_marshal_md5_spread" do
@@ -1,4 +1,4 @@
1
- # Generated by generate-specs.rb
1
+ # Generated by generate-specs
2
2
  require 'helper'
3
3
 
4
4
  describe_moneta "transformer_marshal_prefix" do
@@ -1,4 +1,4 @@
1
- # Generated by generate-specs.rb
1
+ # Generated by generate-specs
2
2
  require 'helper'
3
3
 
4
4
  describe_moneta "transformer_marshal_rmd160" do
@@ -1,4 +1,4 @@
1
- # Generated by generate-specs.rb
1
+ # Generated by generate-specs
2
2
  require 'helper'
3
3
 
4
4
  describe_moneta "transformer_marshal_sha1" do
@@ -1,4 +1,4 @@
1
- # Generated by generate-specs.rb
1
+ # Generated by generate-specs
2
2
  require 'helper'
3
3
 
4
4
  describe_moneta "transformer_marshal_sha256" do
@@ -1,4 +1,4 @@
1
- # Generated by generate-specs.rb
1
+ # Generated by generate-specs
2
2
  require 'helper'
3
3
 
4
4
  describe_moneta "transformer_marshal_sha384" do
@@ -1,4 +1,4 @@
1
- # Generated by generate-specs.rb
1
+ # Generated by generate-specs
2
2
  require 'helper'
3
3
 
4
4
  describe_moneta "transformer_marshal_sha512" do
@@ -1,4 +1,4 @@
1
- # Generated by generate-specs.rb
1
+ # Generated by generate-specs
2
2
  require 'helper'
3
3
 
4
4
  describe_moneta "transformer_marshal" do
@@ -1,4 +1,4 @@
1
- # Generated by generate-specs.rb
1
+ # Generated by generate-specs
2
2
  require 'helper'
3
3
 
4
4
  describe_moneta "transformer_marshal_truncate" do
@@ -1,4 +1,4 @@
1
- # Generated by generate-specs.rb
1
+ # Generated by generate-specs
2
2
  require 'helper'
3
3
 
4
4
  describe_moneta "transformer_marshal_uuencode" do
@@ -1,4 +1,4 @@
1
- # Generated by generate-specs.rb
1
+ # Generated by generate-specs
2
2
  require 'helper'
3
3
 
4
4
  describe_moneta "transformer_msgpack" do
@@ -1,4 +1,4 @@
1
- # Generated by generate-specs.rb
1
+ # Generated by generate-specs
2
2
  require 'helper'
3
3
 
4
4
  describe_moneta "transformer_ox" do
@@ -1,4 +1,4 @@
1
- # Generated by generate-specs.rb
1
+ # Generated by generate-specs
2
2
  require 'helper'
3
3
 
4
4
  describe_moneta "transformer_quicklz" do
@@ -1,4 +1,4 @@
1
- # Generated by generate-specs.rb
1
+ # Generated by generate-specs
2
2
  require 'helper'
3
3
 
4
4
  describe_moneta "transformer_snappy" do
@@ -1,4 +1,4 @@
1
- # Generated by generate-specs.rb
1
+ # Generated by generate-specs
2
2
  require 'helper'
3
3
 
4
4
  describe_moneta "transformer_tnet" do
@@ -1,4 +1,4 @@
1
- # Generated by generate-specs.rb
1
+ # Generated by generate-specs
2
2
  require 'helper'
3
3
 
4
4
  describe_moneta "transformer_value_marshal" do
@@ -1,4 +1,4 @@
1
- # Generated by generate-specs.rb
1
+ # Generated by generate-specs
2
2
  require 'helper'
3
3
 
4
4
  describe_moneta "transformer_value_yaml" do
@@ -1,4 +1,4 @@
1
- # Generated by generate-specs.rb
1
+ # Generated by generate-specs
2
2
  require 'helper'
3
3
 
4
4
  describe_moneta "transformer_yaml" do
@@ -1,4 +1,4 @@
1
- # Generated by generate-specs.rb
1
+ # Generated by generate-specs
2
2
  require 'helper'
3
3
 
4
4
  describe_moneta "transformer_zlib" do
data/spec/monetaspecs.rb CHANGED
@@ -1,4 +1,4 @@
1
- # Generated by generate-specs.rb
1
+ # Generated by generate-specs
2
2
 
3
3
  #################### null_nilkey_nilvalue ####################
4
4
 
@@ -1721,26 +1721,54 @@ end
1721
1721
  shared_examples_for 'returndifferent_nilkey_stringvalue' do
1722
1722
  it 'guarantees that a different value is retrieved' do
1723
1723
  value = "strval1"
1724
- store[0] = "strval1"
1725
- store[0].should_not be_equal("strval1")
1724
+ store[0] = value
1725
+ store[0].should_not be_equal(value)
1726
1726
  end
1727
1727
 
1728
1728
  it 'guarantees that a different value is retrieved' do
1729
1729
  value = "strval1"
1730
- store[nil] = "strval1"
1731
- store[nil].should_not be_equal("strval1")
1730
+ store[nil] = value
1731
+ store[nil].should_not be_equal(value)
1732
1732
  end
1733
1733
 
1734
1734
  it 'guarantees that a different value is retrieved' do
1735
1735
  value = "strval2"
1736
- store[0] = "strval2"
1737
- store[0].should_not be_equal("strval2")
1736
+ store[0] = value
1737
+ store[0].should_not be_equal(value)
1738
1738
  end
1739
1739
 
1740
1740
  it 'guarantees that a different value is retrieved' do
1741
1741
  value = "strval2"
1742
- store[nil] = "strval2"
1743
- store[nil].should_not be_equal("strval2")
1742
+ store[nil] = value
1743
+ store[nil].should_not be_equal(value)
1744
+ end
1745
+ end
1746
+
1747
+ #################### returnsame_nilkey_stringvalue ####################
1748
+
1749
+ shared_examples_for 'returnsame_nilkey_stringvalue' do
1750
+ it 'guarantees that the same value is retrieved' do
1751
+ value = "strval1"
1752
+ store[0] = value
1753
+ store[0].should be_equal(value)
1754
+ end
1755
+
1756
+ it 'guarantees that the same value is retrieved' do
1757
+ value = "strval1"
1758
+ store[nil] = value
1759
+ store[nil].should be_equal(value)
1760
+ end
1761
+
1762
+ it 'guarantees that the same value is retrieved' do
1763
+ value = "strval2"
1764
+ store[0] = value
1765
+ store[0].should be_equal(value)
1766
+ end
1767
+
1768
+ it 'guarantees that the same value is retrieved' do
1769
+ value = "strval2"
1770
+ store[nil] = value
1771
+ store[nil].should be_equal(value)
1744
1772
  end
1745
1773
  end
1746
1774
 
@@ -2197,26 +2225,54 @@ end
2197
2225
  shared_examples_for 'returndifferent_nilkey_hashvalue' do
2198
2226
  it 'guarantees that a different value is retrieved' do
2199
2227
  value = {"hashval1"=>["array1", 1]}
2200
- store[0] = {"hashval1"=>["array1", 1]}
2201
- store[0].should_not be_equal({"hashval1"=>["array1", 1]})
2228
+ store[0] = value
2229
+ store[0].should_not be_equal(value)
2202
2230
  end
2203
2231
 
2204
2232
  it 'guarantees that a different value is retrieved' do
2205
2233
  value = {"hashval1"=>["array1", 1]}
2206
- store[nil] = {"hashval1"=>["array1", 1]}
2207
- store[nil].should_not be_equal({"hashval1"=>["array1", 1]})
2234
+ store[nil] = value
2235
+ store[nil].should_not be_equal(value)
2208
2236
  end
2209
2237
 
2210
2238
  it 'guarantees that a different value is retrieved' do
2211
2239
  value = {"hashval3"=>["array2", {"hashval4"=>42}]}
2212
- store[0] = {"hashval3"=>["array2", {"hashval4"=>42}]}
2213
- store[0].should_not be_equal({"hashval3"=>["array2", {"hashval4"=>42}]})
2240
+ store[0] = value
2241
+ store[0].should_not be_equal(value)
2214
2242
  end
2215
2243
 
2216
2244
  it 'guarantees that a different value is retrieved' do
2217
2245
  value = {"hashval3"=>["array2", {"hashval4"=>42}]}
2218
- store[nil] = {"hashval3"=>["array2", {"hashval4"=>42}]}
2219
- store[nil].should_not be_equal({"hashval3"=>["array2", {"hashval4"=>42}]})
2246
+ store[nil] = value
2247
+ store[nil].should_not be_equal(value)
2248
+ end
2249
+ end
2250
+
2251
+ #################### returnsame_nilkey_hashvalue ####################
2252
+
2253
+ shared_examples_for 'returnsame_nilkey_hashvalue' do
2254
+ it 'guarantees that the same value is retrieved' do
2255
+ value = {"hashval1"=>["array1", 1]}
2256
+ store[0] = value
2257
+ store[0].should be_equal(value)
2258
+ end
2259
+
2260
+ it 'guarantees that the same value is retrieved' do
2261
+ value = {"hashval1"=>["array1", 1]}
2262
+ store[nil] = value
2263
+ store[nil].should be_equal(value)
2264
+ end
2265
+
2266
+ it 'guarantees that the same value is retrieved' do
2267
+ value = {"hashval3"=>["array2", {"hashval4"=>42}]}
2268
+ store[0] = value
2269
+ store[0].should be_equal(value)
2270
+ end
2271
+
2272
+ it 'guarantees that the same value is retrieved' do
2273
+ value = {"hashval3"=>["array2", {"hashval4"=>42}]}
2274
+ store[nil] = value
2275
+ store[nil].should be_equal(value)
2220
2276
  end
2221
2277
  end
2222
2278
 
@@ -2673,26 +2729,54 @@ end
2673
2729
  shared_examples_for 'returndifferent_nilkey_objectvalue' do
2674
2730
  it 'guarantees that a different value is retrieved' do
2675
2731
  value = Value.new(:objval1)
2676
- store[0] = Value.new(:objval1)
2677
- store[0].should_not be_equal(Value.new(:objval1))
2732
+ store[0] = value
2733
+ store[0].should_not be_equal(value)
2678
2734
  end
2679
2735
 
2680
2736
  it 'guarantees that a different value is retrieved' do
2681
2737
  value = Value.new(:objval1)
2682
- store[nil] = Value.new(:objval1)
2683
- store[nil].should_not be_equal(Value.new(:objval1))
2738
+ store[nil] = value
2739
+ store[nil].should_not be_equal(value)
2684
2740
  end
2685
2741
 
2686
2742
  it 'guarantees that a different value is retrieved' do
2687
2743
  value = Value.new(:objval2)
2688
- store[0] = Value.new(:objval2)
2689
- store[0].should_not be_equal(Value.new(:objval2))
2744
+ store[0] = value
2745
+ store[0].should_not be_equal(value)
2690
2746
  end
2691
2747
 
2692
2748
  it 'guarantees that a different value is retrieved' do
2693
2749
  value = Value.new(:objval2)
2694
- store[nil] = Value.new(:objval2)
2695
- store[nil].should_not be_equal(Value.new(:objval2))
2750
+ store[nil] = value
2751
+ store[nil].should_not be_equal(value)
2752
+ end
2753
+ end
2754
+
2755
+ #################### returnsame_nilkey_objectvalue ####################
2756
+
2757
+ shared_examples_for 'returnsame_nilkey_objectvalue' do
2758
+ it 'guarantees that the same value is retrieved' do
2759
+ value = Value.new(:objval1)
2760
+ store[0] = value
2761
+ store[0].should be_equal(value)
2762
+ end
2763
+
2764
+ it 'guarantees that the same value is retrieved' do
2765
+ value = Value.new(:objval1)
2766
+ store[nil] = value
2767
+ store[nil].should be_equal(value)
2768
+ end
2769
+
2770
+ it 'guarantees that the same value is retrieved' do
2771
+ value = Value.new(:objval2)
2772
+ store[0] = value
2773
+ store[0].should be_equal(value)
2774
+ end
2775
+
2776
+ it 'guarantees that the same value is retrieved' do
2777
+ value = Value.new(:objval2)
2778
+ store[nil] = value
2779
+ store[nil].should be_equal(value)
2696
2780
  end
2697
2781
  end
2698
2782
 
@@ -4449,26 +4533,54 @@ end
4449
4533
  shared_examples_for 'returndifferent_integerkey_stringvalue' do
4450
4534
  it 'guarantees that a different value is retrieved' do
4451
4535
  value = "strval1"
4452
- store[-10] = "strval1"
4453
- store[-10].should_not be_equal("strval1")
4536
+ store[-10] = value
4537
+ store[-10].should_not be_equal(value)
4454
4538
  end
4455
4539
 
4456
4540
  it 'guarantees that a different value is retrieved' do
4457
4541
  value = "strval1"
4458
- store[42] = "strval1"
4459
- store[42].should_not be_equal("strval1")
4542
+ store[42] = value
4543
+ store[42].should_not be_equal(value)
4460
4544
  end
4461
4545
 
4462
4546
  it 'guarantees that a different value is retrieved' do
4463
4547
  value = "strval2"
4464
- store[-10] = "strval2"
4465
- store[-10].should_not be_equal("strval2")
4548
+ store[-10] = value
4549
+ store[-10].should_not be_equal(value)
4466
4550
  end
4467
4551
 
4468
4552
  it 'guarantees that a different value is retrieved' do
4469
4553
  value = "strval2"
4470
- store[42] = "strval2"
4471
- store[42].should_not be_equal("strval2")
4554
+ store[42] = value
4555
+ store[42].should_not be_equal(value)
4556
+ end
4557
+ end
4558
+
4559
+ #################### returnsame_integerkey_stringvalue ####################
4560
+
4561
+ shared_examples_for 'returnsame_integerkey_stringvalue' do
4562
+ it 'guarantees that the same value is retrieved' do
4563
+ value = "strval1"
4564
+ store[-10] = value
4565
+ store[-10].should be_equal(value)
4566
+ end
4567
+
4568
+ it 'guarantees that the same value is retrieved' do
4569
+ value = "strval1"
4570
+ store[42] = value
4571
+ store[42].should be_equal(value)
4572
+ end
4573
+
4574
+ it 'guarantees that the same value is retrieved' do
4575
+ value = "strval2"
4576
+ store[-10] = value
4577
+ store[-10].should be_equal(value)
4578
+ end
4579
+
4580
+ it 'guarantees that the same value is retrieved' do
4581
+ value = "strval2"
4582
+ store[42] = value
4583
+ store[42].should be_equal(value)
4472
4584
  end
4473
4585
  end
4474
4586
 
@@ -4925,26 +5037,54 @@ end
4925
5037
  shared_examples_for 'returndifferent_integerkey_hashvalue' do
4926
5038
  it 'guarantees that a different value is retrieved' do
4927
5039
  value = {"hashval1"=>["array1", 1]}
4928
- store[-10] = {"hashval1"=>["array1", 1]}
4929
- store[-10].should_not be_equal({"hashval1"=>["array1", 1]})
5040
+ store[-10] = value
5041
+ store[-10].should_not be_equal(value)
4930
5042
  end
4931
5043
 
4932
5044
  it 'guarantees that a different value is retrieved' do
4933
5045
  value = {"hashval1"=>["array1", 1]}
4934
- store[42] = {"hashval1"=>["array1", 1]}
4935
- store[42].should_not be_equal({"hashval1"=>["array1", 1]})
5046
+ store[42] = value
5047
+ store[42].should_not be_equal(value)
4936
5048
  end
4937
5049
 
4938
5050
  it 'guarantees that a different value is retrieved' do
4939
5051
  value = {"hashval3"=>["array2", {"hashval4"=>42}]}
4940
- store[-10] = {"hashval3"=>["array2", {"hashval4"=>42}]}
4941
- store[-10].should_not be_equal({"hashval3"=>["array2", {"hashval4"=>42}]})
5052
+ store[-10] = value
5053
+ store[-10].should_not be_equal(value)
4942
5054
  end
4943
5055
 
4944
5056
  it 'guarantees that a different value is retrieved' do
4945
5057
  value = {"hashval3"=>["array2", {"hashval4"=>42}]}
4946
- store[42] = {"hashval3"=>["array2", {"hashval4"=>42}]}
4947
- store[42].should_not be_equal({"hashval3"=>["array2", {"hashval4"=>42}]})
5058
+ store[42] = value
5059
+ store[42].should_not be_equal(value)
5060
+ end
5061
+ end
5062
+
5063
+ #################### returnsame_integerkey_hashvalue ####################
5064
+
5065
+ shared_examples_for 'returnsame_integerkey_hashvalue' do
5066
+ it 'guarantees that the same value is retrieved' do
5067
+ value = {"hashval1"=>["array1", 1]}
5068
+ store[-10] = value
5069
+ store[-10].should be_equal(value)
5070
+ end
5071
+
5072
+ it 'guarantees that the same value is retrieved' do
5073
+ value = {"hashval1"=>["array1", 1]}
5074
+ store[42] = value
5075
+ store[42].should be_equal(value)
5076
+ end
5077
+
5078
+ it 'guarantees that the same value is retrieved' do
5079
+ value = {"hashval3"=>["array2", {"hashval4"=>42}]}
5080
+ store[-10] = value
5081
+ store[-10].should be_equal(value)
5082
+ end
5083
+
5084
+ it 'guarantees that the same value is retrieved' do
5085
+ value = {"hashval3"=>["array2", {"hashval4"=>42}]}
5086
+ store[42] = value
5087
+ store[42].should be_equal(value)
4948
5088
  end
4949
5089
  end
4950
5090
 
@@ -5401,26 +5541,54 @@ end
5401
5541
  shared_examples_for 'returndifferent_integerkey_objectvalue' do
5402
5542
  it 'guarantees that a different value is retrieved' do
5403
5543
  value = Value.new(:objval1)
5404
- store[-10] = Value.new(:objval1)
5405
- store[-10].should_not be_equal(Value.new(:objval1))
5544
+ store[-10] = value
5545
+ store[-10].should_not be_equal(value)
5406
5546
  end
5407
5547
 
5408
5548
  it 'guarantees that a different value is retrieved' do
5409
5549
  value = Value.new(:objval1)
5410
- store[42] = Value.new(:objval1)
5411
- store[42].should_not be_equal(Value.new(:objval1))
5550
+ store[42] = value
5551
+ store[42].should_not be_equal(value)
5412
5552
  end
5413
5553
 
5414
5554
  it 'guarantees that a different value is retrieved' do
5415
5555
  value = Value.new(:objval2)
5416
- store[-10] = Value.new(:objval2)
5417
- store[-10].should_not be_equal(Value.new(:objval2))
5556
+ store[-10] = value
5557
+ store[-10].should_not be_equal(value)
5418
5558
  end
5419
5559
 
5420
5560
  it 'guarantees that a different value is retrieved' do
5421
5561
  value = Value.new(:objval2)
5422
- store[42] = Value.new(:objval2)
5423
- store[42].should_not be_equal(Value.new(:objval2))
5562
+ store[42] = value
5563
+ store[42].should_not be_equal(value)
5564
+ end
5565
+ end
5566
+
5567
+ #################### returnsame_integerkey_objectvalue ####################
5568
+
5569
+ shared_examples_for 'returnsame_integerkey_objectvalue' do
5570
+ it 'guarantees that the same value is retrieved' do
5571
+ value = Value.new(:objval1)
5572
+ store[-10] = value
5573
+ store[-10].should be_equal(value)
5574
+ end
5575
+
5576
+ it 'guarantees that the same value is retrieved' do
5577
+ value = Value.new(:objval1)
5578
+ store[42] = value
5579
+ store[42].should be_equal(value)
5580
+ end
5581
+
5582
+ it 'guarantees that the same value is retrieved' do
5583
+ value = Value.new(:objval2)
5584
+ store[-10] = value
5585
+ store[-10].should be_equal(value)
5586
+ end
5587
+
5588
+ it 'guarantees that the same value is retrieved' do
5589
+ value = Value.new(:objval2)
5590
+ store[42] = value
5591
+ store[42].should be_equal(value)
5424
5592
  end
5425
5593
  end
5426
5594
 
@@ -7177,26 +7345,54 @@ end
7177
7345
  shared_examples_for 'returndifferent_booleankey_stringvalue' do
7178
7346
  it 'guarantees that a different value is retrieved' do
7179
7347
  value = "strval1"
7180
- store[true] = "strval1"
7181
- store[true].should_not be_equal("strval1")
7348
+ store[true] = value
7349
+ store[true].should_not be_equal(value)
7182
7350
  end
7183
7351
 
7184
7352
  it 'guarantees that a different value is retrieved' do
7185
7353
  value = "strval1"
7186
- store[false] = "strval1"
7187
- store[false].should_not be_equal("strval1")
7354
+ store[false] = value
7355
+ store[false].should_not be_equal(value)
7188
7356
  end
7189
7357
 
7190
7358
  it 'guarantees that a different value is retrieved' do
7191
7359
  value = "strval2"
7192
- store[true] = "strval2"
7193
- store[true].should_not be_equal("strval2")
7360
+ store[true] = value
7361
+ store[true].should_not be_equal(value)
7194
7362
  end
7195
7363
 
7196
7364
  it 'guarantees that a different value is retrieved' do
7197
7365
  value = "strval2"
7198
- store[false] = "strval2"
7199
- store[false].should_not be_equal("strval2")
7366
+ store[false] = value
7367
+ store[false].should_not be_equal(value)
7368
+ end
7369
+ end
7370
+
7371
+ #################### returnsame_booleankey_stringvalue ####################
7372
+
7373
+ shared_examples_for 'returnsame_booleankey_stringvalue' do
7374
+ it 'guarantees that the same value is retrieved' do
7375
+ value = "strval1"
7376
+ store[true] = value
7377
+ store[true].should be_equal(value)
7378
+ end
7379
+
7380
+ it 'guarantees that the same value is retrieved' do
7381
+ value = "strval1"
7382
+ store[false] = value
7383
+ store[false].should be_equal(value)
7384
+ end
7385
+
7386
+ it 'guarantees that the same value is retrieved' do
7387
+ value = "strval2"
7388
+ store[true] = value
7389
+ store[true].should be_equal(value)
7390
+ end
7391
+
7392
+ it 'guarantees that the same value is retrieved' do
7393
+ value = "strval2"
7394
+ store[false] = value
7395
+ store[false].should be_equal(value)
7200
7396
  end
7201
7397
  end
7202
7398
 
@@ -7653,26 +7849,54 @@ end
7653
7849
  shared_examples_for 'returndifferent_booleankey_hashvalue' do
7654
7850
  it 'guarantees that a different value is retrieved' do
7655
7851
  value = {"hashval1"=>["array1", 1]}
7656
- store[true] = {"hashval1"=>["array1", 1]}
7657
- store[true].should_not be_equal({"hashval1"=>["array1", 1]})
7852
+ store[true] = value
7853
+ store[true].should_not be_equal(value)
7658
7854
  end
7659
7855
 
7660
7856
  it 'guarantees that a different value is retrieved' do
7661
7857
  value = {"hashval1"=>["array1", 1]}
7662
- store[false] = {"hashval1"=>["array1", 1]}
7663
- store[false].should_not be_equal({"hashval1"=>["array1", 1]})
7858
+ store[false] = value
7859
+ store[false].should_not be_equal(value)
7664
7860
  end
7665
7861
 
7666
7862
  it 'guarantees that a different value is retrieved' do
7667
7863
  value = {"hashval3"=>["array2", {"hashval4"=>42}]}
7668
- store[true] = {"hashval3"=>["array2", {"hashval4"=>42}]}
7669
- store[true].should_not be_equal({"hashval3"=>["array2", {"hashval4"=>42}]})
7864
+ store[true] = value
7865
+ store[true].should_not be_equal(value)
7670
7866
  end
7671
7867
 
7672
7868
  it 'guarantees that a different value is retrieved' do
7673
7869
  value = {"hashval3"=>["array2", {"hashval4"=>42}]}
7674
- store[false] = {"hashval3"=>["array2", {"hashval4"=>42}]}
7675
- store[false].should_not be_equal({"hashval3"=>["array2", {"hashval4"=>42}]})
7870
+ store[false] = value
7871
+ store[false].should_not be_equal(value)
7872
+ end
7873
+ end
7874
+
7875
+ #################### returnsame_booleankey_hashvalue ####################
7876
+
7877
+ shared_examples_for 'returnsame_booleankey_hashvalue' do
7878
+ it 'guarantees that the same value is retrieved' do
7879
+ value = {"hashval1"=>["array1", 1]}
7880
+ store[true] = value
7881
+ store[true].should be_equal(value)
7882
+ end
7883
+
7884
+ it 'guarantees that the same value is retrieved' do
7885
+ value = {"hashval1"=>["array1", 1]}
7886
+ store[false] = value
7887
+ store[false].should be_equal(value)
7888
+ end
7889
+
7890
+ it 'guarantees that the same value is retrieved' do
7891
+ value = {"hashval3"=>["array2", {"hashval4"=>42}]}
7892
+ store[true] = value
7893
+ store[true].should be_equal(value)
7894
+ end
7895
+
7896
+ it 'guarantees that the same value is retrieved' do
7897
+ value = {"hashval3"=>["array2", {"hashval4"=>42}]}
7898
+ store[false] = value
7899
+ store[false].should be_equal(value)
7676
7900
  end
7677
7901
  end
7678
7902
 
@@ -8129,26 +8353,54 @@ end
8129
8353
  shared_examples_for 'returndifferent_booleankey_objectvalue' do
8130
8354
  it 'guarantees that a different value is retrieved' do
8131
8355
  value = Value.new(:objval1)
8132
- store[true] = Value.new(:objval1)
8133
- store[true].should_not be_equal(Value.new(:objval1))
8356
+ store[true] = value
8357
+ store[true].should_not be_equal(value)
8134
8358
  end
8135
8359
 
8136
8360
  it 'guarantees that a different value is retrieved' do
8137
8361
  value = Value.new(:objval1)
8138
- store[false] = Value.new(:objval1)
8139
- store[false].should_not be_equal(Value.new(:objval1))
8362
+ store[false] = value
8363
+ store[false].should_not be_equal(value)
8140
8364
  end
8141
8365
 
8142
8366
  it 'guarantees that a different value is retrieved' do
8143
8367
  value = Value.new(:objval2)
8144
- store[true] = Value.new(:objval2)
8145
- store[true].should_not be_equal(Value.new(:objval2))
8368
+ store[true] = value
8369
+ store[true].should_not be_equal(value)
8146
8370
  end
8147
8371
 
8148
8372
  it 'guarantees that a different value is retrieved' do
8149
8373
  value = Value.new(:objval2)
8150
- store[false] = Value.new(:objval2)
8151
- store[false].should_not be_equal(Value.new(:objval2))
8374
+ store[false] = value
8375
+ store[false].should_not be_equal(value)
8376
+ end
8377
+ end
8378
+
8379
+ #################### returnsame_booleankey_objectvalue ####################
8380
+
8381
+ shared_examples_for 'returnsame_booleankey_objectvalue' do
8382
+ it 'guarantees that the same value is retrieved' do
8383
+ value = Value.new(:objval1)
8384
+ store[true] = value
8385
+ store[true].should be_equal(value)
8386
+ end
8387
+
8388
+ it 'guarantees that the same value is retrieved' do
8389
+ value = Value.new(:objval1)
8390
+ store[false] = value
8391
+ store[false].should be_equal(value)
8392
+ end
8393
+
8394
+ it 'guarantees that the same value is retrieved' do
8395
+ value = Value.new(:objval2)
8396
+ store[true] = value
8397
+ store[true].should be_equal(value)
8398
+ end
8399
+
8400
+ it 'guarantees that the same value is retrieved' do
8401
+ value = Value.new(:objval2)
8402
+ store[false] = value
8403
+ store[false].should be_equal(value)
8152
8404
  end
8153
8405
  end
8154
8406
 
@@ -9905,26 +10157,54 @@ end
9905
10157
  shared_examples_for 'returndifferent_stringkey_stringvalue' do
9906
10158
  it 'guarantees that a different value is retrieved' do
9907
10159
  value = "strval1"
9908
- store["strkey1"] = "strval1"
9909
- store["strkey1"].should_not be_equal("strval1")
10160
+ store["strkey1"] = value
10161
+ store["strkey1"].should_not be_equal(value)
9910
10162
  end
9911
10163
 
9912
10164
  it 'guarantees that a different value is retrieved' do
9913
10165
  value = "strval1"
9914
- store["strkey2"] = "strval1"
9915
- store["strkey2"].should_not be_equal("strval1")
10166
+ store["strkey2"] = value
10167
+ store["strkey2"].should_not be_equal(value)
9916
10168
  end
9917
10169
 
9918
10170
  it 'guarantees that a different value is retrieved' do
9919
10171
  value = "strval2"
9920
- store["strkey1"] = "strval2"
9921
- store["strkey1"].should_not be_equal("strval2")
10172
+ store["strkey1"] = value
10173
+ store["strkey1"].should_not be_equal(value)
9922
10174
  end
9923
10175
 
9924
10176
  it 'guarantees that a different value is retrieved' do
9925
10177
  value = "strval2"
9926
- store["strkey2"] = "strval2"
9927
- store["strkey2"].should_not be_equal("strval2")
10178
+ store["strkey2"] = value
10179
+ store["strkey2"].should_not be_equal(value)
10180
+ end
10181
+ end
10182
+
10183
+ #################### returnsame_stringkey_stringvalue ####################
10184
+
10185
+ shared_examples_for 'returnsame_stringkey_stringvalue' do
10186
+ it 'guarantees that the same value is retrieved' do
10187
+ value = "strval1"
10188
+ store["strkey1"] = value
10189
+ store["strkey1"].should be_equal(value)
10190
+ end
10191
+
10192
+ it 'guarantees that the same value is retrieved' do
10193
+ value = "strval1"
10194
+ store["strkey2"] = value
10195
+ store["strkey2"].should be_equal(value)
10196
+ end
10197
+
10198
+ it 'guarantees that the same value is retrieved' do
10199
+ value = "strval2"
10200
+ store["strkey1"] = value
10201
+ store["strkey1"].should be_equal(value)
10202
+ end
10203
+
10204
+ it 'guarantees that the same value is retrieved' do
10205
+ value = "strval2"
10206
+ store["strkey2"] = value
10207
+ store["strkey2"].should be_equal(value)
9928
10208
  end
9929
10209
  end
9930
10210
 
@@ -10381,26 +10661,54 @@ end
10381
10661
  shared_examples_for 'returndifferent_stringkey_hashvalue' do
10382
10662
  it 'guarantees that a different value is retrieved' do
10383
10663
  value = {"hashval1"=>["array1", 1]}
10384
- store["strkey1"] = {"hashval1"=>["array1", 1]}
10385
- store["strkey1"].should_not be_equal({"hashval1"=>["array1", 1]})
10664
+ store["strkey1"] = value
10665
+ store["strkey1"].should_not be_equal(value)
10386
10666
  end
10387
10667
 
10388
10668
  it 'guarantees that a different value is retrieved' do
10389
10669
  value = {"hashval1"=>["array1", 1]}
10390
- store["strkey2"] = {"hashval1"=>["array1", 1]}
10391
- store["strkey2"].should_not be_equal({"hashval1"=>["array1", 1]})
10670
+ store["strkey2"] = value
10671
+ store["strkey2"].should_not be_equal(value)
10392
10672
  end
10393
10673
 
10394
10674
  it 'guarantees that a different value is retrieved' do
10395
10675
  value = {"hashval3"=>["array2", {"hashval4"=>42}]}
10396
- store["strkey1"] = {"hashval3"=>["array2", {"hashval4"=>42}]}
10397
- store["strkey1"].should_not be_equal({"hashval3"=>["array2", {"hashval4"=>42}]})
10676
+ store["strkey1"] = value
10677
+ store["strkey1"].should_not be_equal(value)
10398
10678
  end
10399
10679
 
10400
10680
  it 'guarantees that a different value is retrieved' do
10401
10681
  value = {"hashval3"=>["array2", {"hashval4"=>42}]}
10402
- store["strkey2"] = {"hashval3"=>["array2", {"hashval4"=>42}]}
10403
- store["strkey2"].should_not be_equal({"hashval3"=>["array2", {"hashval4"=>42}]})
10682
+ store["strkey2"] = value
10683
+ store["strkey2"].should_not be_equal(value)
10684
+ end
10685
+ end
10686
+
10687
+ #################### returnsame_stringkey_hashvalue ####################
10688
+
10689
+ shared_examples_for 'returnsame_stringkey_hashvalue' do
10690
+ it 'guarantees that the same value is retrieved' do
10691
+ value = {"hashval1"=>["array1", 1]}
10692
+ store["strkey1"] = value
10693
+ store["strkey1"].should be_equal(value)
10694
+ end
10695
+
10696
+ it 'guarantees that the same value is retrieved' do
10697
+ value = {"hashval1"=>["array1", 1]}
10698
+ store["strkey2"] = value
10699
+ store["strkey2"].should be_equal(value)
10700
+ end
10701
+
10702
+ it 'guarantees that the same value is retrieved' do
10703
+ value = {"hashval3"=>["array2", {"hashval4"=>42}]}
10704
+ store["strkey1"] = value
10705
+ store["strkey1"].should be_equal(value)
10706
+ end
10707
+
10708
+ it 'guarantees that the same value is retrieved' do
10709
+ value = {"hashval3"=>["array2", {"hashval4"=>42}]}
10710
+ store["strkey2"] = value
10711
+ store["strkey2"].should be_equal(value)
10404
10712
  end
10405
10713
  end
10406
10714
 
@@ -10857,26 +11165,54 @@ end
10857
11165
  shared_examples_for 'returndifferent_stringkey_objectvalue' do
10858
11166
  it 'guarantees that a different value is retrieved' do
10859
11167
  value = Value.new(:objval1)
10860
- store["strkey1"] = Value.new(:objval1)
10861
- store["strkey1"].should_not be_equal(Value.new(:objval1))
11168
+ store["strkey1"] = value
11169
+ store["strkey1"].should_not be_equal(value)
10862
11170
  end
10863
11171
 
10864
11172
  it 'guarantees that a different value is retrieved' do
10865
11173
  value = Value.new(:objval1)
10866
- store["strkey2"] = Value.new(:objval1)
10867
- store["strkey2"].should_not be_equal(Value.new(:objval1))
11174
+ store["strkey2"] = value
11175
+ store["strkey2"].should_not be_equal(value)
10868
11176
  end
10869
11177
 
10870
11178
  it 'guarantees that a different value is retrieved' do
10871
11179
  value = Value.new(:objval2)
10872
- store["strkey1"] = Value.new(:objval2)
10873
- store["strkey1"].should_not be_equal(Value.new(:objval2))
11180
+ store["strkey1"] = value
11181
+ store["strkey1"].should_not be_equal(value)
10874
11182
  end
10875
11183
 
10876
11184
  it 'guarantees that a different value is retrieved' do
10877
11185
  value = Value.new(:objval2)
10878
- store["strkey2"] = Value.new(:objval2)
10879
- store["strkey2"].should_not be_equal(Value.new(:objval2))
11186
+ store["strkey2"] = value
11187
+ store["strkey2"].should_not be_equal(value)
11188
+ end
11189
+ end
11190
+
11191
+ #################### returnsame_stringkey_objectvalue ####################
11192
+
11193
+ shared_examples_for 'returnsame_stringkey_objectvalue' do
11194
+ it 'guarantees that the same value is retrieved' do
11195
+ value = Value.new(:objval1)
11196
+ store["strkey1"] = value
11197
+ store["strkey1"].should be_equal(value)
11198
+ end
11199
+
11200
+ it 'guarantees that the same value is retrieved' do
11201
+ value = Value.new(:objval1)
11202
+ store["strkey2"] = value
11203
+ store["strkey2"].should be_equal(value)
11204
+ end
11205
+
11206
+ it 'guarantees that the same value is retrieved' do
11207
+ value = Value.new(:objval2)
11208
+ store["strkey1"] = value
11209
+ store["strkey1"].should be_equal(value)
11210
+ end
11211
+
11212
+ it 'guarantees that the same value is retrieved' do
11213
+ value = Value.new(:objval2)
11214
+ store["strkey2"] = value
11215
+ store["strkey2"].should be_equal(value)
10880
11216
  end
10881
11217
  end
10882
11218
 
@@ -12633,26 +12969,54 @@ end
12633
12969
  shared_examples_for 'returndifferent_objectkey_stringvalue' do
12634
12970
  it 'guarantees that a different value is retrieved' do
12635
12971
  value = "strval1"
12636
- store[Value.new(:objkey1)] = "strval1"
12637
- store[Value.new(:objkey1)].should_not be_equal("strval1")
12972
+ store[Value.new(:objkey1)] = value
12973
+ store[Value.new(:objkey1)].should_not be_equal(value)
12638
12974
  end
12639
12975
 
12640
12976
  it 'guarantees that a different value is retrieved' do
12641
12977
  value = "strval1"
12642
- store[Value.new(:objkey2)] = "strval1"
12643
- store[Value.new(:objkey2)].should_not be_equal("strval1")
12978
+ store[Value.new(:objkey2)] = value
12979
+ store[Value.new(:objkey2)].should_not be_equal(value)
12644
12980
  end
12645
12981
 
12646
12982
  it 'guarantees that a different value is retrieved' do
12647
12983
  value = "strval2"
12648
- store[Value.new(:objkey1)] = "strval2"
12649
- store[Value.new(:objkey1)].should_not be_equal("strval2")
12984
+ store[Value.new(:objkey1)] = value
12985
+ store[Value.new(:objkey1)].should_not be_equal(value)
12650
12986
  end
12651
12987
 
12652
12988
  it 'guarantees that a different value is retrieved' do
12653
12989
  value = "strval2"
12654
- store[Value.new(:objkey2)] = "strval2"
12655
- store[Value.new(:objkey2)].should_not be_equal("strval2")
12990
+ store[Value.new(:objkey2)] = value
12991
+ store[Value.new(:objkey2)].should_not be_equal(value)
12992
+ end
12993
+ end
12994
+
12995
+ #################### returnsame_objectkey_stringvalue ####################
12996
+
12997
+ shared_examples_for 'returnsame_objectkey_stringvalue' do
12998
+ it 'guarantees that the same value is retrieved' do
12999
+ value = "strval1"
13000
+ store[Value.new(:objkey1)] = value
13001
+ store[Value.new(:objkey1)].should be_equal(value)
13002
+ end
13003
+
13004
+ it 'guarantees that the same value is retrieved' do
13005
+ value = "strval1"
13006
+ store[Value.new(:objkey2)] = value
13007
+ store[Value.new(:objkey2)].should be_equal(value)
13008
+ end
13009
+
13010
+ it 'guarantees that the same value is retrieved' do
13011
+ value = "strval2"
13012
+ store[Value.new(:objkey1)] = value
13013
+ store[Value.new(:objkey1)].should be_equal(value)
13014
+ end
13015
+
13016
+ it 'guarantees that the same value is retrieved' do
13017
+ value = "strval2"
13018
+ store[Value.new(:objkey2)] = value
13019
+ store[Value.new(:objkey2)].should be_equal(value)
12656
13020
  end
12657
13021
  end
12658
13022
 
@@ -13109,26 +13473,54 @@ end
13109
13473
  shared_examples_for 'returndifferent_objectkey_hashvalue' do
13110
13474
  it 'guarantees that a different value is retrieved' do
13111
13475
  value = {"hashval1"=>["array1", 1]}
13112
- store[Value.new(:objkey1)] = {"hashval1"=>["array1", 1]}
13113
- store[Value.new(:objkey1)].should_not be_equal({"hashval1"=>["array1", 1]})
13476
+ store[Value.new(:objkey1)] = value
13477
+ store[Value.new(:objkey1)].should_not be_equal(value)
13114
13478
  end
13115
13479
 
13116
13480
  it 'guarantees that a different value is retrieved' do
13117
13481
  value = {"hashval1"=>["array1", 1]}
13118
- store[Value.new(:objkey2)] = {"hashval1"=>["array1", 1]}
13119
- store[Value.new(:objkey2)].should_not be_equal({"hashval1"=>["array1", 1]})
13482
+ store[Value.new(:objkey2)] = value
13483
+ store[Value.new(:objkey2)].should_not be_equal(value)
13120
13484
  end
13121
13485
 
13122
13486
  it 'guarantees that a different value is retrieved' do
13123
13487
  value = {"hashval3"=>["array2", {"hashval4"=>42}]}
13124
- store[Value.new(:objkey1)] = {"hashval3"=>["array2", {"hashval4"=>42}]}
13125
- store[Value.new(:objkey1)].should_not be_equal({"hashval3"=>["array2", {"hashval4"=>42}]})
13488
+ store[Value.new(:objkey1)] = value
13489
+ store[Value.new(:objkey1)].should_not be_equal(value)
13126
13490
  end
13127
13491
 
13128
13492
  it 'guarantees that a different value is retrieved' do
13129
13493
  value = {"hashval3"=>["array2", {"hashval4"=>42}]}
13130
- store[Value.new(:objkey2)] = {"hashval3"=>["array2", {"hashval4"=>42}]}
13131
- store[Value.new(:objkey2)].should_not be_equal({"hashval3"=>["array2", {"hashval4"=>42}]})
13494
+ store[Value.new(:objkey2)] = value
13495
+ store[Value.new(:objkey2)].should_not be_equal(value)
13496
+ end
13497
+ end
13498
+
13499
+ #################### returnsame_objectkey_hashvalue ####################
13500
+
13501
+ shared_examples_for 'returnsame_objectkey_hashvalue' do
13502
+ it 'guarantees that the same value is retrieved' do
13503
+ value = {"hashval1"=>["array1", 1]}
13504
+ store[Value.new(:objkey1)] = value
13505
+ store[Value.new(:objkey1)].should be_equal(value)
13506
+ end
13507
+
13508
+ it 'guarantees that the same value is retrieved' do
13509
+ value = {"hashval1"=>["array1", 1]}
13510
+ store[Value.new(:objkey2)] = value
13511
+ store[Value.new(:objkey2)].should be_equal(value)
13512
+ end
13513
+
13514
+ it 'guarantees that the same value is retrieved' do
13515
+ value = {"hashval3"=>["array2", {"hashval4"=>42}]}
13516
+ store[Value.new(:objkey1)] = value
13517
+ store[Value.new(:objkey1)].should be_equal(value)
13518
+ end
13519
+
13520
+ it 'guarantees that the same value is retrieved' do
13521
+ value = {"hashval3"=>["array2", {"hashval4"=>42}]}
13522
+ store[Value.new(:objkey2)] = value
13523
+ store[Value.new(:objkey2)].should be_equal(value)
13132
13524
  end
13133
13525
  end
13134
13526
 
@@ -13585,26 +13977,54 @@ end
13585
13977
  shared_examples_for 'returndifferent_objectkey_objectvalue' do
13586
13978
  it 'guarantees that a different value is retrieved' do
13587
13979
  value = Value.new(:objval1)
13588
- store[Value.new(:objkey1)] = Value.new(:objval1)
13589
- store[Value.new(:objkey1)].should_not be_equal(Value.new(:objval1))
13980
+ store[Value.new(:objkey1)] = value
13981
+ store[Value.new(:objkey1)].should_not be_equal(value)
13590
13982
  end
13591
13983
 
13592
13984
  it 'guarantees that a different value is retrieved' do
13593
13985
  value = Value.new(:objval1)
13594
- store[Value.new(:objkey2)] = Value.new(:objval1)
13595
- store[Value.new(:objkey2)].should_not be_equal(Value.new(:objval1))
13986
+ store[Value.new(:objkey2)] = value
13987
+ store[Value.new(:objkey2)].should_not be_equal(value)
13596
13988
  end
13597
13989
 
13598
13990
  it 'guarantees that a different value is retrieved' do
13599
13991
  value = Value.new(:objval2)
13600
- store[Value.new(:objkey1)] = Value.new(:objval2)
13601
- store[Value.new(:objkey1)].should_not be_equal(Value.new(:objval2))
13992
+ store[Value.new(:objkey1)] = value
13993
+ store[Value.new(:objkey1)].should_not be_equal(value)
13602
13994
  end
13603
13995
 
13604
13996
  it 'guarantees that a different value is retrieved' do
13605
13997
  value = Value.new(:objval2)
13606
- store[Value.new(:objkey2)] = Value.new(:objval2)
13607
- store[Value.new(:objkey2)].should_not be_equal(Value.new(:objval2))
13998
+ store[Value.new(:objkey2)] = value
13999
+ store[Value.new(:objkey2)].should_not be_equal(value)
14000
+ end
14001
+ end
14002
+
14003
+ #################### returnsame_objectkey_objectvalue ####################
14004
+
14005
+ shared_examples_for 'returnsame_objectkey_objectvalue' do
14006
+ it 'guarantees that the same value is retrieved' do
14007
+ value = Value.new(:objval1)
14008
+ store[Value.new(:objkey1)] = value
14009
+ store[Value.new(:objkey1)].should be_equal(value)
14010
+ end
14011
+
14012
+ it 'guarantees that the same value is retrieved' do
14013
+ value = Value.new(:objval1)
14014
+ store[Value.new(:objkey2)] = value
14015
+ store[Value.new(:objkey2)].should be_equal(value)
14016
+ end
14017
+
14018
+ it 'guarantees that the same value is retrieved' do
14019
+ value = Value.new(:objval2)
14020
+ store[Value.new(:objkey1)] = value
14021
+ store[Value.new(:objkey1)].should be_equal(value)
14022
+ end
14023
+
14024
+ it 'guarantees that the same value is retrieved' do
14025
+ value = Value.new(:objval2)
14026
+ store[Value.new(:objkey2)] = value
14027
+ store[Value.new(:objkey2)].should be_equal(value)
13608
14028
  end
13609
14029
  end
13610
14030
 
@@ -15361,26 +15781,54 @@ end
15361
15781
  shared_examples_for 'returndifferent_hashkey_stringvalue' do
15362
15782
  it 'guarantees that a different value is retrieved' do
15363
15783
  value = "strval1"
15364
- store[{"hashkey1"=>"hashkey2"}] = "strval1"
15365
- store[{"hashkey1"=>"hashkey2"}].should_not be_equal("strval1")
15784
+ store[{"hashkey1"=>"hashkey2"}] = value
15785
+ store[{"hashkey1"=>"hashkey2"}].should_not be_equal(value)
15366
15786
  end
15367
15787
 
15368
15788
  it 'guarantees that a different value is retrieved' do
15369
15789
  value = "strval1"
15370
- store[{"hashkey3"=>"hashkey4"}] = "strval1"
15371
- store[{"hashkey3"=>"hashkey4"}].should_not be_equal("strval1")
15790
+ store[{"hashkey3"=>"hashkey4"}] = value
15791
+ store[{"hashkey3"=>"hashkey4"}].should_not be_equal(value)
15372
15792
  end
15373
15793
 
15374
15794
  it 'guarantees that a different value is retrieved' do
15375
15795
  value = "strval2"
15376
- store[{"hashkey1"=>"hashkey2"}] = "strval2"
15377
- store[{"hashkey1"=>"hashkey2"}].should_not be_equal("strval2")
15796
+ store[{"hashkey1"=>"hashkey2"}] = value
15797
+ store[{"hashkey1"=>"hashkey2"}].should_not be_equal(value)
15378
15798
  end
15379
15799
 
15380
15800
  it 'guarantees that a different value is retrieved' do
15381
15801
  value = "strval2"
15382
- store[{"hashkey3"=>"hashkey4"}] = "strval2"
15383
- store[{"hashkey3"=>"hashkey4"}].should_not be_equal("strval2")
15802
+ store[{"hashkey3"=>"hashkey4"}] = value
15803
+ store[{"hashkey3"=>"hashkey4"}].should_not be_equal(value)
15804
+ end
15805
+ end
15806
+
15807
+ #################### returnsame_hashkey_stringvalue ####################
15808
+
15809
+ shared_examples_for 'returnsame_hashkey_stringvalue' do
15810
+ it 'guarantees that the same value is retrieved' do
15811
+ value = "strval1"
15812
+ store[{"hashkey1"=>"hashkey2"}] = value
15813
+ store[{"hashkey1"=>"hashkey2"}].should be_equal(value)
15814
+ end
15815
+
15816
+ it 'guarantees that the same value is retrieved' do
15817
+ value = "strval1"
15818
+ store[{"hashkey3"=>"hashkey4"}] = value
15819
+ store[{"hashkey3"=>"hashkey4"}].should be_equal(value)
15820
+ end
15821
+
15822
+ it 'guarantees that the same value is retrieved' do
15823
+ value = "strval2"
15824
+ store[{"hashkey1"=>"hashkey2"}] = value
15825
+ store[{"hashkey1"=>"hashkey2"}].should be_equal(value)
15826
+ end
15827
+
15828
+ it 'guarantees that the same value is retrieved' do
15829
+ value = "strval2"
15830
+ store[{"hashkey3"=>"hashkey4"}] = value
15831
+ store[{"hashkey3"=>"hashkey4"}].should be_equal(value)
15384
15832
  end
15385
15833
  end
15386
15834
 
@@ -15837,26 +16285,54 @@ end
15837
16285
  shared_examples_for 'returndifferent_hashkey_hashvalue' do
15838
16286
  it 'guarantees that a different value is retrieved' do
15839
16287
  value = {"hashval1"=>["array1", 1]}
15840
- store[{"hashkey1"=>"hashkey2"}] = {"hashval1"=>["array1", 1]}
15841
- store[{"hashkey1"=>"hashkey2"}].should_not be_equal({"hashval1"=>["array1", 1]})
16288
+ store[{"hashkey1"=>"hashkey2"}] = value
16289
+ store[{"hashkey1"=>"hashkey2"}].should_not be_equal(value)
15842
16290
  end
15843
16291
 
15844
16292
  it 'guarantees that a different value is retrieved' do
15845
16293
  value = {"hashval1"=>["array1", 1]}
15846
- store[{"hashkey3"=>"hashkey4"}] = {"hashval1"=>["array1", 1]}
15847
- store[{"hashkey3"=>"hashkey4"}].should_not be_equal({"hashval1"=>["array1", 1]})
16294
+ store[{"hashkey3"=>"hashkey4"}] = value
16295
+ store[{"hashkey3"=>"hashkey4"}].should_not be_equal(value)
15848
16296
  end
15849
16297
 
15850
16298
  it 'guarantees that a different value is retrieved' do
15851
16299
  value = {"hashval3"=>["array2", {"hashval4"=>42}]}
15852
- store[{"hashkey1"=>"hashkey2"}] = {"hashval3"=>["array2", {"hashval4"=>42}]}
15853
- store[{"hashkey1"=>"hashkey2"}].should_not be_equal({"hashval3"=>["array2", {"hashval4"=>42}]})
16300
+ store[{"hashkey1"=>"hashkey2"}] = value
16301
+ store[{"hashkey1"=>"hashkey2"}].should_not be_equal(value)
15854
16302
  end
15855
16303
 
15856
16304
  it 'guarantees that a different value is retrieved' do
15857
16305
  value = {"hashval3"=>["array2", {"hashval4"=>42}]}
15858
- store[{"hashkey3"=>"hashkey4"}] = {"hashval3"=>["array2", {"hashval4"=>42}]}
15859
- store[{"hashkey3"=>"hashkey4"}].should_not be_equal({"hashval3"=>["array2", {"hashval4"=>42}]})
16306
+ store[{"hashkey3"=>"hashkey4"}] = value
16307
+ store[{"hashkey3"=>"hashkey4"}].should_not be_equal(value)
16308
+ end
16309
+ end
16310
+
16311
+ #################### returnsame_hashkey_hashvalue ####################
16312
+
16313
+ shared_examples_for 'returnsame_hashkey_hashvalue' do
16314
+ it 'guarantees that the same value is retrieved' do
16315
+ value = {"hashval1"=>["array1", 1]}
16316
+ store[{"hashkey1"=>"hashkey2"}] = value
16317
+ store[{"hashkey1"=>"hashkey2"}].should be_equal(value)
16318
+ end
16319
+
16320
+ it 'guarantees that the same value is retrieved' do
16321
+ value = {"hashval1"=>["array1", 1]}
16322
+ store[{"hashkey3"=>"hashkey4"}] = value
16323
+ store[{"hashkey3"=>"hashkey4"}].should be_equal(value)
16324
+ end
16325
+
16326
+ it 'guarantees that the same value is retrieved' do
16327
+ value = {"hashval3"=>["array2", {"hashval4"=>42}]}
16328
+ store[{"hashkey1"=>"hashkey2"}] = value
16329
+ store[{"hashkey1"=>"hashkey2"}].should be_equal(value)
16330
+ end
16331
+
16332
+ it 'guarantees that the same value is retrieved' do
16333
+ value = {"hashval3"=>["array2", {"hashval4"=>42}]}
16334
+ store[{"hashkey3"=>"hashkey4"}] = value
16335
+ store[{"hashkey3"=>"hashkey4"}].should be_equal(value)
15860
16336
  end
15861
16337
  end
15862
16338
 
@@ -16313,26 +16789,54 @@ end
16313
16789
  shared_examples_for 'returndifferent_hashkey_objectvalue' do
16314
16790
  it 'guarantees that a different value is retrieved' do
16315
16791
  value = Value.new(:objval1)
16316
- store[{"hashkey1"=>"hashkey2"}] = Value.new(:objval1)
16317
- store[{"hashkey1"=>"hashkey2"}].should_not be_equal(Value.new(:objval1))
16792
+ store[{"hashkey1"=>"hashkey2"}] = value
16793
+ store[{"hashkey1"=>"hashkey2"}].should_not be_equal(value)
16318
16794
  end
16319
16795
 
16320
16796
  it 'guarantees that a different value is retrieved' do
16321
16797
  value = Value.new(:objval1)
16322
- store[{"hashkey3"=>"hashkey4"}] = Value.new(:objval1)
16323
- store[{"hashkey3"=>"hashkey4"}].should_not be_equal(Value.new(:objval1))
16798
+ store[{"hashkey3"=>"hashkey4"}] = value
16799
+ store[{"hashkey3"=>"hashkey4"}].should_not be_equal(value)
16324
16800
  end
16325
16801
 
16326
16802
  it 'guarantees that a different value is retrieved' do
16327
16803
  value = Value.new(:objval2)
16328
- store[{"hashkey1"=>"hashkey2"}] = Value.new(:objval2)
16329
- store[{"hashkey1"=>"hashkey2"}].should_not be_equal(Value.new(:objval2))
16804
+ store[{"hashkey1"=>"hashkey2"}] = value
16805
+ store[{"hashkey1"=>"hashkey2"}].should_not be_equal(value)
16330
16806
  end
16331
16807
 
16332
16808
  it 'guarantees that a different value is retrieved' do
16333
16809
  value = Value.new(:objval2)
16334
- store[{"hashkey3"=>"hashkey4"}] = Value.new(:objval2)
16335
- store[{"hashkey3"=>"hashkey4"}].should_not be_equal(Value.new(:objval2))
16810
+ store[{"hashkey3"=>"hashkey4"}] = value
16811
+ store[{"hashkey3"=>"hashkey4"}].should_not be_equal(value)
16812
+ end
16813
+ end
16814
+
16815
+ #################### returnsame_hashkey_objectvalue ####################
16816
+
16817
+ shared_examples_for 'returnsame_hashkey_objectvalue' do
16818
+ it 'guarantees that the same value is retrieved' do
16819
+ value = Value.new(:objval1)
16820
+ store[{"hashkey1"=>"hashkey2"}] = value
16821
+ store[{"hashkey1"=>"hashkey2"}].should be_equal(value)
16822
+ end
16823
+
16824
+ it 'guarantees that the same value is retrieved' do
16825
+ value = Value.new(:objval1)
16826
+ store[{"hashkey3"=>"hashkey4"}] = value
16827
+ store[{"hashkey3"=>"hashkey4"}].should be_equal(value)
16828
+ end
16829
+
16830
+ it 'guarantees that the same value is retrieved' do
16831
+ value = Value.new(:objval2)
16832
+ store[{"hashkey1"=>"hashkey2"}] = value
16833
+ store[{"hashkey1"=>"hashkey2"}].should be_equal(value)
16834
+ end
16835
+
16836
+ it 'guarantees that the same value is retrieved' do
16837
+ value = Value.new(:objval2)
16838
+ store[{"hashkey3"=>"hashkey4"}] = value
16839
+ store[{"hashkey3"=>"hashkey4"}].should be_equal(value)
16336
16840
  end
16337
16841
  end
16338
16842
 
@@ -16430,9 +16934,9 @@ shared_examples_for 'expires' do
16430
16934
  sleep 1
16431
16935
  store.load('key2', :expires => 3).should == 'val2'
16432
16936
  store['key2'].should == 'val2'
16433
- sleep 1
16937
+ sleep 2
16434
16938
  store['key2'].should == 'val2'
16435
- sleep 3
16939
+ sleep 2
16436
16940
  store['key2'].should be_nil
16437
16941
  end
16438
16942
 
@@ -16456,9 +16960,9 @@ shared_examples_for 'expires' do
16456
16960
  sleep 1
16457
16961
  store.key?('key2', :expires => 3).should be_true
16458
16962
  store['key2'].should == 'val2'
16459
- sleep 1
16963
+ sleep 2
16460
16964
  store['key2'].should == 'val2'
16461
- sleep 3
16965
+ sleep 2
16462
16966
  store['key2'].should be_nil
16463
16967
  end
16464
16968
 
@@ -16482,9 +16986,9 @@ shared_examples_for 'expires' do
16482
16986
  sleep 1
16483
16987
  store.fetch('key1', nil, :expires => 3).should == 'val1'
16484
16988
  store['key1'].should == 'val1'
16485
- sleep 1
16989
+ sleep 2
16486
16990
  store['key1'].should == 'val1'
16487
- sleep 3
16991
+ sleep 2
16488
16992
  store['key1'].should be_nil
16489
16993
  end
16490
16994