# File gstreamer/tests/tc_element.rb, line 141
    def test_bin_iterate
        b1 = __create_bin("foo")
        b2 = __create_bin("bar")
        res1 = {
            b1 => 0,
            b2 => 0
        }
        res2 = {
            b1 => 0,
            b2 => 0
        }
        [ b1, b2 ].each do |bin|
            assert_raises(ArgumentError) { bin.on_pre_iterate }
            bin.on_pre_iterate { |bin| res1[bin] += 1 } 
            assert_raises(RuntimeError) { bin.on_pre_iterate {} }
            assert_raises(ArgumentError) { bin.on_post_iterate }
            bin.on_post_iterate { |bin| res2[bin] += 1 }
            assert_raises(RuntimeError) { bin.on_post_iterate {} }
            bin.play
        end
        50.times do |i|
            [ b1, b2 ].each do |bin|
                assert_equal(res1[bin], i)
                assert_equal(res2[bin], i)
                bin.iterate
            end
        end
        [ b1, b2 ].each do |bin| 
            assert_equal(50, res1[bin])
            assert_equal(50, res2[bin])
            bin.stop
        end
    end