| Class | HistogramTest |
| In: |
lib/histogram.rb
|
| Parent: | Test::Unit::TestCase |
# File lib/histogram.rb, line 145 def mk_hist ( enum=nil, &block ) assert_nothing_raised { @h = Histogram.new(enum, &block) } @h end
# File lib/histogram.rb, line 138 def setup @_1, @_42 = Z_10Z_Integer.new(1), Z_10Z_Integer.new(42) @r = @_1 .. @_42 mk_hist(@r) @support = [5, 5, 4, 4, 4, 4, 4, 4, 4, 4] end
# File lib/histogram.rb, line 162 def test_a_large_uniform_range enum = (0 .. 10).to_a * 10 mk_hist(enum) assert_equal(0, @h[11]) enum.each { |i| assert_equal(10, @h[i]) } assert_equal(0, @h[11]) end
# File lib/histogram.rb, line 186 def test_each g1 = Generator.new([5, 5, 4, 4, 4, 4, 4, 4, 4, 4]) g2 = Generator.new(@r) @h.each do |equivalence_class| assert_equal(x = g1.next, equivalence_class.size) assert_equal(x, equivalence_class.values.size) assert_equal(g2.next, equivalence_class.values.first) end end
# File lib/histogram.rb, line 196 def test_equivalence_class_of assert_kind_of(Histogram::EquivalenceClass, @h.equivalence_class_of(42)) assert_equal([10, 20, 30, 40], @h.equivalence_class_of(0).values) assert_equal([2, 12, 22, 32, 42], @h.equivalence_class_of(12).values) assert_equal(5, @h[42]) end
# File lib/histogram.rb, line 215 def test_frequences assert_equal(@support, @h.frequences.map { |x| x * 42 }) end
# File lib/histogram.rb, line 180 def test_hooks # [] @h << 42 assert_kind_of(Integer, @h[42]) assert_equal(6, @h[42]) end
# File lib/histogram.rb, line 150 def test_init_via_enum assert_equal(1, mk_hist([0] * 10).size) assert_equal(10, @h[0]) assert_equal(0, @h[1]) end
# File lib/histogram.rb, line 170 def test_push # << assert_nothing_raised { @h << 12 } assert_equal(5, @h[11]) assert_equal(6, @h[12]) @h << 11 << 12 << 22 assert_equal(4, @h[10]) assert_equal(6, @h[11]) assert_equal(8, @h[12]) end