Sha256: 7580bf170a404198623ddbf8a0f8ca754df83f36955415640403f19a612b7c49

Contents?: true

Size: 2 KB

Versions: 13

Compression:

Stored size: 2 KB

Contents

require 'tc_helper.rb'
class TestSimpleTypedList < Test::Unit::TestCase
  def setup
    @list = Axlsx::SimpleTypedList.new Integer
  end

  def teardown
  end

  def test_type_is_a_class_or_array_of_class
    assert_nothing_raised { Axlsx::SimpleTypedList.new Integer }
    assert_nothing_raised { Axlsx::SimpleTypedList.new [Integer,String] }
    assert_raise(ArgumentError) { Axlsx::SimpleTypedList.new }
    assert_raise(ArgumentError) { Axlsx::SimpleTypedList.new "1" }
    assert_raise(ArgumentError) { Axlsx::SimpleTypedList.new [Integer, "Class"] }
  end

  def test_indexed_based_assignment
    #should not allow nil assignment
    assert_raise(ArgumentError) { @list[0] = nil }
    assert_raise(ArgumentError) { @list[0] = "1" }
    assert_nothing_raised { @list[0] = 1 }
  end

  def test_concat_assignment
    assert_raise(ArgumentError) { @list << nil }
    assert_raise(ArgumentError) { @list << "1" }
    assert_nothing_raised { @list << 1 }
  end

  def test_concat_should_return_index
    assert( @list.size == 0 )
    assert( @list << 1 == 0 )
    assert( @list << 2 == 1 )
    @list.delete_at 0
    assert( @list << 3 == 1 )
    assert( @list.index(2) == 0 )
  end

  def test_push_should_return_index
    assert( @list.push(1) == 0 )
    assert( @list.push(2) == 1 )
    @list.delete_at 0
    assert( @list.push(3) == 1 )
    assert( @list.index(2) == 0 )
  end

  def test_locking
    @list.push 1
    @list.push 2
    @list.push 3
    @list.lock

    assert_raise(ArgumentError) { @list.delete 1  }
    assert_raise(ArgumentError) { @list.delete_at 1 }
    assert_raise(ArgumentError) { @list.delete_at 2 }
    @list.push 4
    assert_nothing_raised { @list.delete_at 3 }
    @list.unlock
    #ignore garbage
    assert_nothing_raised { @list.delete 0 }
    assert_nothing_raised { @list.delete 9 }
  end
  
  def test_delete
    @list.push 1
    assert(@list.size == 1)
    @list.delete 1
    assert(@list.empty?)
  end

  def test_equality
    @list.push 1
    @list.push 2
    assert_equal(@list.to_ary, [1,2])
  end
end

Version data entries

13 entries across 13 versions & 4 rubygems

Version Path
caxlsx-3.1.1 test/util/tc_simple_typed_list.rb
caxlsx-3.1.0 test/util/tc_simple_typed_list.rb
bonio-axlsx-2.2.3 test/util/tc_simple_typed_list.rb
caxlsx-3.0.4 test/util/tc_simple_typed_list.rb
caxlsx-3.0.3 test/util/tc_simple_typed_list.rb
caxlsx-3.0.2 test/util/tc_simple_typed_list.rb
caxlsx-3.0.1 test/util/tc_simple_typed_list.rb
caxlsx-3.0.0 test/util/tc_simple_typed_list.rb
axlsx-alt-3.0.1 test/util/tc_simple_typed_list.rb
axlsx-alt-3.0.0 test/util/tc_simple_typed_list.rb
axlsx-3.0.0.pre test/util/tc_simple_typed_list.rb
bonio-axlsx-2.2.2 test/util/tc_simple_typed_list.rb
bonio-axlsx-2.2.1 test/util/tc_simple_typed_list.rb