summaryrefslogtreecommitdiffhomepage
path: root/test/util
diff options
context:
space:
mode:
authorRandy Morgan <[email protected]>2011-11-20 23:22:04 +0900
committerRandy Morgan <[email protected]>2011-11-20 23:22:04 +0900
commite53f04284618713b0a90b7a691425c380e829476 (patch)
tree801fea138160f9af426d62bf94ad5bf97123ece9 /test/util
downloadcaxlsx-e53f04284618713b0a90b7a691425c380e829476.tar.gz
caxlsx-e53f04284618713b0a90b7a691425c380e829476.zip
first commit
Diffstat (limited to 'test/util')
-rw-r--r--test/util/tc_simple_typed_list.rb66
-rw-r--r--test/util/tc_validators.rb76
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
+