[Archipelago-submits] [33] trunk: added some broken tests to Tree
nobody at rubyforge.org
nobody at rubyforge.org
Sun Nov 19 18:52:43 EST 2006
Revision: 33
Author: zond
Date: 2006-11-19 18:52:42 -0500 (Sun, 19 Nov 2006)
Log Message:
-----------
added some broken tests to Tree
Modified Paths:
--------------
trunk/archipelago/tests/test_helper.rb
trunk/hyperactive/lib/hyperactive/record.rb
trunk/hyperactive/tests/test_helper.rb
trunk/hyperactive/tests/tree_test.rb
Modified: trunk/archipelago/tests/test_helper.rb
===================================================================
--- trunk/archipelago/tests/test_helper.rb 2006-11-19 23:36:43 UTC (rev 32)
+++ trunk/archipelago/tests/test_helper.rb 2006-11-19 23:52:42 UTC (rev 33)
@@ -2,7 +2,7 @@
home = File.expand_path(File.dirname(__FILE__))
$: << File.join(home, "..", "lib")
-MC_DISABLED = true
+MC_DISABLED = true unless defined?(MC_ENABLED) && MC_ENABLED
require 'pp'
require 'drb'
Modified: trunk/hyperactive/lib/hyperactive/record.rb
===================================================================
--- trunk/hyperactive/lib/hyperactive/record.rb 2006-11-19 23:36:43 UTC (rev 32)
+++ trunk/hyperactive/lib/hyperactive/record.rb 2006-11-19 23:52:42 UTC (rev 33)
@@ -89,6 +89,18 @@
#
attr_reader :record_id
+ def hash
+ @record_id.hash
+ end
+
+ def eql?(o)
+ if Record === o
+ o.record_id == @record_id
+ else
+ false
+ end
+ end
+
#
# Remove this instance from the database calling all the right hooks.
#
Modified: trunk/hyperactive/tests/test_helper.rb
===================================================================
--- trunk/hyperactive/tests/test_helper.rb 2006-11-19 23:36:43 UTC (rev 32)
+++ trunk/hyperactive/tests/test_helper.rb 2006-11-19 23:52:42 UTC (rev 33)
@@ -2,33 +2,12 @@
home = File.expand_path(File.dirname(__FILE__))
$: << File.join(home, "..", "lib")
+require 'hyperactive'
+
+DRb.start_service
+MC_ENABLED = true
+
require 'pp'
require 'test/unit'
require 'benchmark'
-
-class Test::Unit::TestCase
-
- def bm(label, options = {})
- n = options[:n] || 1000
- width = options[:width] || 50
- Benchmark.benchmark(" " * width + Benchmark::Tms::CAPTION, width, Benchmark::Tms::FMTSTR, "ms/call") do |b|
- times = b.report("#{n}x#{label}") do
- n.times do
- yield
- end
- end
- [times * 1000 / n.to_f]
- end
- end
-
- def assert_within(timeout, &block)
- t = Time.new
- rval = yield
- while !rval && t > Time.new - timeout
- rval = yield
- sleep(0.05)
- end
- assert(rval)
- end
-
-end
+require '../archipelago/tests/test_helper'
Modified: trunk/hyperactive/tests/tree_test.rb
===================================================================
--- trunk/hyperactive/tests/tree_test.rb 2006-11-19 23:36:43 UTC (rev 32)
+++ trunk/hyperactive/tests/tree_test.rb 2006-11-19 23:52:42 UTC (rev 33)
@@ -4,17 +4,41 @@
class TreeTest < Test::Unit::TestCase
def setup
- DRb.start_service
@c = TestChest.new(:persistence_provider => Archipelago::Hashish::BerkeleyHashishProvider.new(Pathname.new(__FILE__).parent.join("chest.db")))
+ @c.publish!
@c2 = TestChest.new(:persistence_provider => Archipelago::Hashish::BerkeleyHashishProvider.new(Pathname.new(__FILE__).parent.join("chest2.db")))
- @tm = TestManager.new
+ @c2.publish!
+ @tm = TestManager.new(:persistence_provider => Archipelago::Hashish::BerkeleyHashishProvider.new(Pathname.new(__FILE__).parent.join("tranny1.db")))
+ @tm.publish!
+ Hyperactive::CAPTAIN.setup(:chest_description => {:class => 'TestChest'},
+ :tranny_description => {:class => 'TestManager'})
+ assert_within(10) do
+ !Hyperactive::CAPTAIN.chests.empty?
+ end
+ assert_within(10) do
+ !Hyperactive::CAPTAIN.trannies.empty?
+ end
end
def teardown
+ @c.persistence_provider.unlink
+ @c2.persistence_provider.unlink
+ @tm.persistence_provider.unlink
end
- def test_true
- true
+ def test_set_get
+ h = Hyperactive::Tree.get_instance
+ h2 = {}
+ 50.times do
+ r = Hyperactive::Record.get_instance
+ h[r.record_id] = r
+ h2[r.record_id] = r
+ end
+
+ h2.each do |k,v|
+ assert_equal(v, h[k])
+ assert_equal(v, Hyperactive::CAPTAIN[h.record_id][k])
+ end
end
end
More information about the Archipelago-submits
mailing list