diff options
| author | Randy Morgan <[email protected]> | 2011-11-20 23:22:04 +0900 |
|---|---|---|
| committer | Randy Morgan <[email protected]> | 2011-11-20 23:22:04 +0900 |
| commit | e53f04284618713b0a90b7a691425c380e829476 (patch) | |
| tree | 801fea138160f9af426d62bf94ad5bf97123ece9 /test/util | |
| download | caxlsx-e53f04284618713b0a90b7a691425c380e829476.tar.gz caxlsx-e53f04284618713b0a90b7a691425c380e829476.zip | |
first commit
Diffstat (limited to 'test/util')
| -rw-r--r-- | test/util/tc_simple_typed_list.rb | 66 | ||||
| -rw-r--r-- | test/util/tc_validators.rb | 76 |
2 files changed, 142 insertions, 0 deletions
diff --git a/test/util/tc_simple_typed_list.rb b/test/util/tc_simple_typed_list.rb new file mode 100644 index 00000000..6195153e --- /dev/null +++ b/test/util/tc_simple_typed_list.rb @@ -0,0 +1,66 @@ +require 'test/unit' +require 'axlsx.rb' +class TestSimpleTypedList < Test::Unit::TestCase + def setup + @list = Axlsx::SimpleTypedList.new Fixnum + 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 + +end diff --git a/test/util/tc_validators.rb b/test/util/tc_validators.rb new file mode 100644 index 00000000..09afcc27 --- /dev/null +++ b/test/util/tc_validators.rb @@ -0,0 +1,76 @@ +require 'test/unit' +require 'axlsx.rb' +class TestValidators < Test::Unit::TestCase + def setup + end + def teardown + end + + def test_validators + #unsigned_int + assert_nothing_raised { Axlsx.validate_unsigned_int 1 } + assert_nothing_raised { Axlsx.validate_unsigned_int +1 } + assert_raise(ArgumentError) { Axlsx.validate_unsigned_int -1 } + assert_raise(ArgumentError) { Axlsx.validate_unsigned_int '1' } + + #int + assert_nothing_raised { Axlsx.validate_int 1 } + assert_nothing_raised { Axlsx.validate_int -1 } + assert_raise(ArgumentError) { Axlsx.validate_int 'a' } + assert_raise(ArgumentError) { Axlsx.validate_int Array } + + #boolean (as 0 or 1, :true, :false, true, false, or "true," "false") + [0,1,:true, :false, true, false, "true", "false"].each do |v| + assert_nothing_raised { Axlsx.validate_boolean 0 } + end + assert_raise(ArgumentError) { Axlsx.validate_boolean 2 } + + #string + assert_nothing_raised { Axlsx.validate_string "1" } + assert_raise(ArgumentError) { Axlsx.validate_string 2 } + assert_raise(ArgumentError) { Axlsx.validate_string false } + + #float + assert_nothing_raised { Axlsx.validate_float 1.0 } + assert_raise(ArgumentError) { Axlsx.validate_float 2 } + assert_raise(ArgumentError) { Axlsx.validate_float false } + + #pattern_type + assert_nothing_raised { Axlsx.validate_pattern_type :none } + assert_raise(ArgumentError) { Axlsx.validate_pattern_type "none" } + assert_raise(ArgumentError) { Axlsx.validate_pattern_type "crazy_pattern" } + assert_raise(ArgumentError) { Axlsx.validate_pattern_type false } + + #gradient_type + assert_nothing_raised { Axlsx.validate_gradient_type :path } + assert_raise(ArgumentError) { Axlsx.validate_gradient_type nil } + assert_raise(ArgumentError) { Axlsx.validate_gradient_type "fractal" } + assert_raise(ArgumentError) { Axlsx.validate_gradient_type false } + + #horizontal alignment + assert_nothing_raised { Axlsx.validate_horizontal_alignment :general } + assert_raise(ArgumentError) { Axlsx.validate_horizontal_alignment nil } + assert_raise(ArgumentError) { Axlsx.validate_horizontal_alignment "wavy" } + assert_raise(ArgumentError) { Axlsx.validate_horizontal_alignment false } + + #vertical alignment + assert_nothing_raised { Axlsx.validate_vertical_alignment :top } + assert_raise(ArgumentError) { Axlsx.validate_vertical_alignment nil } + assert_raise(ArgumentError) { Axlsx.validate_vertical_alignment "dynamic" } + assert_raise(ArgumentError) { Axlsx.validate_vertical_alignment false } + + #contentType + assert_nothing_raised { Axlsx.validate_content_type Axlsx::WORKBOOK_CT } + assert_raise(ArgumentError) { Axlsx.validate_content_type nil } + assert_raise(ArgumentError) { Axlsx.validate_content_type "http://some.url" } + assert_raise(ArgumentError) { Axlsx.validate_content_type false } + + #relationshipType + assert_nothing_raised { Axlsx.validate_relationship_type Axlsx::WORKBOOK_R } + assert_raise(ArgumentError) { Axlsx.validate_relationship_type nil } + assert_raise(ArgumentError) { Axlsx.validate_relationship_type "http://some.url" } + assert_raise(ArgumentError) { Axlsx.validate_relationship_type false } + + end +end + |
