class TestStream

Public Instance Methods

test_collection_stream() click to toggle source
# File test/teststream.rb, line 99
def test_collection_stream
  s = new_collection_stream
  assert_equal([1, 2, 3, 4, 5], s.entries)
  assert(s.at_end?)
      assert_raises(Stream::EndOfStreamException) {s.forward}
  assert_equal(5, s.backward)
  assert_equal(5, s.forward)
  assert_equal(5, s.current)
  assert_equal(s, s.peek)

  s.set_to_begin
  assert(s.at_beginning?)
      assert_raises(Stream::EndOfStreamException) {s.backward}
  assert_equal(s, s.current)
  assert_equal(1, s.peek)
  assert_equal(1, s.forward)
  assert_equal(1, s.current)
  assert_equal(2, s.peek)

      # move_forward_until
      assert_equal(4, s.move_forward_until { |x| x > 3 })
      assert_equal(nil, s.move_forward_until { |x| x < 3 })
      assert(s.at_end?)

      s.set_to_begin
      assert_equal(nil, s.move_forward_until { |x| x > 6 })
end
test_enumerable() click to toggle source
# File test/teststream.rb, line 93
def test_enumerable
  s = new_collection_stream
  assert_equal([2, 4, 6, 8, 10], s.collect {|x| x*2}.entries)
  assert_equal([2,4],s.select {|x| x[0]== 0})# even numbers
end
test_enumerable_protocol() click to toggle source
# File test/teststream.rb, line 158
def test_enumerable_protocol
      s = [1, 2, 3, 4, 5].create_stream
      assert(s.include?(2))
      assert_equal(3,s.detect {|x| x > 2})
      assert_equal(nil,s.detect {|x| x < 0})
      assert_equal([1,2],s.find_all {|x| x < 3})
end
test_filtered_stream() click to toggle source
# File test/teststream.rb, line 142
def test_filtered_stream
  [(1..6).create_stream.filtered {|x| x % 2 == 0 }].each do |s| 
        standard_tests_for(s)
      end
end
test_for_examples_reversed() click to toggle source
# File test/teststream.rb, line 133
def test_for_examples_reversed
      all_examples.each do |exampleStream|
        assert_equal(exampleStream.entries.reverse, exampleStream.reverse.entries)
        assert_equal(exampleStream.entries, exampleStream.reverse.reverse.entries)
        standard_tests_for(exampleStream.reverse)
        standard_tests_for(exampleStream.reverse.reverse)
      end
end
test_interval_stream() click to toggle source
# File test/teststream.rb, line 148
def test_interval_stream
      s = Stream::IntervalStream.new 6
      standard_tests_for(s)
      assert_equal([0, 1, 2, 3, 4, 5], s.entries)
      s.increment_stop
      assert(!s.at_end?)
      assert_equal([0, 1, 2, 3, 4, 5, 6], s.entries)
      standard_tests_for(s)
end
test_modified_stream() click to toggle source
# File test/teststream.rb, line 166
def test_modified_stream
      a = [1,2,3]
      assert_equal([2,3],a.create_stream.remove_first.to_a)
      assert_equal([1,2],a.create_stream.remove_last.to_a)
      assert_raises(Stream::EndOfStreamException) {
        [1].create_stream.remove_last.forward
      }
      assert_raises(Stream::EndOfStreamException) {
        [1].create_stream.remove_first.forward
      }
end
test_standard_for_examples() click to toggle source
# File test/teststream.rb, line 127
def test_standard_for_examples
      all_examples.each do |exampleStream|
        standard_tests_for(exampleStream)
      end
end