a89301d623
basic still #23 , now applied Basic size of 20, interpreter gets 50 and the full set is 1024 Tests run more than twice as fast!!
70 lines
1.7 KiB
Ruby
70 lines
1.7 KiB
Ruby
require_relative "helper"
|
|
|
|
module Parfait
|
|
class TestFactory < ParfaitTest
|
|
|
|
def setup
|
|
super
|
|
@factory = Factory.new Parfait.object_space.get_type_by_class_name(:Integer)
|
|
end
|
|
def test_ok
|
|
assert @factory
|
|
end
|
|
def test_name_ok
|
|
assert @factory.attribute_name.to_s.start_with?("next")
|
|
end
|
|
def test_get_next
|
|
assert_nil @factory.get_next_for( Integer.new(1))
|
|
end
|
|
def test_no_next
|
|
assert_nil @factory.next_object
|
|
assert_nil @factory.reserve
|
|
end
|
|
def test_get_next_object
|
|
assert_equal Parfait::Integer , @factory.get_next_object.class
|
|
end
|
|
def test_default_test_page
|
|
assert_equal 20 , Factory.page_size
|
|
end
|
|
def test_default_reserve
|
|
assert_equal 10 , Factory.reserve_size
|
|
end
|
|
def test_set_page
|
|
assert_equal 10 , Factory.page_size = 10
|
|
Factory.page_size = 1024
|
|
end
|
|
def test_first_is_reserve
|
|
@factory.get_next_object
|
|
assert_equal Parfait::Integer , @factory.reserve.class
|
|
end
|
|
def test_reserve_length
|
|
count = 0
|
|
start = @factory.get_next_object
|
|
start = @factory.reserve
|
|
while( start )
|
|
start = start.next_integer
|
|
count += 1
|
|
end
|
|
assert_equal 11 , count
|
|
end
|
|
class BigFactoryTest < BigParfaitTest
|
|
def setup
|
|
super
|
|
@factory = Factory.new Parfait.object_space.get_type_by_class_name(:Integer)
|
|
end
|
|
def test_chain_length
|
|
count = 0
|
|
start = @factory.get_next_object
|
|
while( start )
|
|
start = start.next_integer
|
|
count += 1
|
|
end
|
|
assert_equal 1024 - 10 , count
|
|
end
|
|
def test_default_page
|
|
assert_equal 1024 , Factory.page_size
|
|
end
|
|
end
|
|
end
|
|
end
|