[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