Sha256: 483063038dffa5f883ee92805f3c21f1c864b4548b548fd6b77e2fa318c1d237

Contents?: true

Size: 1.59 KB

Versions: 1

Compression:

Stored size: 1.59 KB

Contents

#####################################################################
# test_tail.rb
#
# Test case for the File.tail method. This test should be run via
# the 'rake test_tail' task.
#####################################################################
require 'test-unit'
require 'ptools'

class TC_FileTail < Test::Unit::TestCase
  def self.startup
    Dir.chdir('test') if File.exist?('test')
    File.open('test_file1.txt', 'w'){ |fh| 25.times{ |n| fh.puts "line#{n+1}" } }
  end

  def setup
    @test_file = 'test_file1.txt'

    @expected_tail1 = ["line16\n","line17\n","line18\n","line19\n"]
    @expected_tail1.push("line20\n","line21\n","line22\n", "line23\n")
    @expected_tail1.push("line24\n","line25\n")

    @expected_tail2 = ["line21\n","line22\n","line23\n","line24\n","line25\n"]
  end

  def test_tail_basic
    assert_respond_to(File, :tail)
    assert_nothing_raised{ File.tail(@test_file) }
    assert_nothing_raised{ File.tail(@test_file, 5) }
    assert_nothing_raised{ File.tail(@test_file){} }
  end

  def test_tail_expected_return_values
    assert_kind_of(Array, File.tail(@test_file))
    assert_equal(@expected_tail1, File.tail(@test_file))
    assert_equal(@expected_tail2, File.tail(@test_file, 5))
  end

  def test_tail_expected_errors
    assert_raises(ArgumentError){ File.tail }
    assert_raises(ArgumentError){ File.tail(@test_file, 5, 5) }
  end

  def teardown
    @test_file = nil
    @expected_tail1 = nil
    @expected_tail2 = nil
  end

  def self.shutdown
    File.delete('test_file1.txt') if File.exist?('test_file1.txt')
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ptools-1.2.7-universal-mingw32 test/test_tail.rb