Class HistogramTest
In: lib/histogram.rb
Parent: Test::Unit::TestCase

Methods

Classes and Modules

Class HistogramTest::Z_10Z_Integer

Public Instance methods

[Source]

# File lib/histogram.rb, line 145
    def mk_hist ( enum=nil, &block )
      assert_nothing_raised { @h = Histogram.new(enum, &block) }
      @h
    end

[Source]

# 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

[Source]

# 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

[Source]

# 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

[Source]

# 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

[Source]

# File lib/histogram.rb, line 215
    def test_frequences
      assert_equal(@support, @h.frequences.map { |x| x * 42 })
    end

[Source]

# File lib/histogram.rb, line 180
    def test_hooks # []
      @h << 42
      assert_kind_of(Integer, @h[42])
      assert_equal(6, @h[42])
    end

[Source]

# 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

[Source]

# 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

[Source]

# File lib/histogram.rb, line 203
    def test_size
      assert_equal(10, @h.size)
    end

[Source]

# File lib/histogram.rb, line 207
    def test_support
      assert_equal(@support, @h.support)
    end

[Source]

# File lib/histogram.rb, line 211
    def test_total
      assert_equal(42, @h.total)
    end

[Source]

# File lib/histogram.rb, line 156
    def test_uniform_range
      assert_equal(11, mk_hist(0 .. 10).size)
      (0 .. 10).each { |i| assert_equal(1, @h[i]) }
      assert_equal(0, @h[11])
    end

[Validate]