def test_bin
assert_instance_of(Gst::Bin, b = Gst::Bin.new("my bin"))
b.test(self)
assert_equal(0, b.size)
100.times { |i| b.add(Gst::ElementFactory.make("mad")) }
assert_equal(b.size, 100)
i = 0
b.each_element { |e| assert_instance_of(Gst::Element, e); i += 1 }
assert_equal(b.size, i)
b.clear
assert_equal(b.size, 0)
a = Array.new
100.times { a.push(Gst::ElementFactory.make("fakesrc")) }
assert_equal(a.length, 100)
b.add(*a)
assert_equal(b.size, b.length)
assert_equal(b.size, 100)
assert_instance_of(Array, a = b.elements)
assert_equal(a.length, 100)
a.each { |e| assert_instance_of(Gst::Element, e) }
b.remove(*a[0, 50])
assert_equal(b.size, b.length)
assert_equal(b.size, 50)
b.remove_all
assert_equal(b.size, b.length)
assert_equal(b.size, 0)
a = Array.new
10.times { a.push(Gst::Bin.new) }
a.each { |e| assert_instance_of(Gst::Bin, e) }
assert_nil a.collect { |e| e.name }.uniq!
end