From 2d89896461cdea858bb3f6037e0357bf95c5330f Mon Sep 17 00:00:00 2001 From: nobu Date: Sat, 1 Mar 2014 07:08:19 +0000 Subject: * test/csv/test_data_converters.rb: use descriptive assertions. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45223 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/csv/test_data_converters.rb | 4 ++-- test/csv/test_encodings.rb | 30 ++++++++++-------------------- test/csv/test_features.rb | 30 ++++++++++++++---------------- test/csv/test_headers.rb | 20 ++++++++++---------- test/csv/test_interface.rb | 6 +++--- test/csv/test_row.rb | 39 ++++++++++++++++++++------------------- test/csv/test_table.rb | 11 ++++++----- 7 files changed, 65 insertions(+), 75 deletions(-) (limited to 'test/csv') diff --git a/test/csv/test_data_converters.rb b/test/csv/test_data_converters.rb index 3351620e10..89b6dd1dfd 100755 --- a/test/csv/test_data_converters.rb +++ b/test/csv/test_data_converters.rb @@ -68,7 +68,7 @@ class TestCSV::DataConverters < TestCSV def test_convert_with_builtin_integer # setup parser... - assert(@parser.respond_to?(:convert)) + assert_respond_to(@parser, :convert) assert_nothing_raised(Exception) { @parser.convert(:integer) } # and use @@ -77,7 +77,7 @@ class TestCSV::DataConverters < TestCSV def test_convert_with_builtin_float # setup parser... - assert(@parser.respond_to?(:convert)) + assert_respond_to(@parser, :convert) assert_nothing_raised(Exception) { @parser.convert(:float) } # and use diff --git a/test/csv/test_encodings.rb b/test/csv/test_encodings.rb index 85ed21a9d6..21b997c9ec 100755 --- a/test/csv/test_encodings.rb +++ b/test/csv/test_encodings.rb @@ -121,11 +121,9 @@ class TestCSV::Encodings < TestCSV def test_parser_works_with_encoded_headers encode_for_tests([%w[one two three], %w[1 2 3]]) do |data| parsed = CSV.parse(data, headers: true) - assert( parsed.headers.all? { |h| h.encoding == data.encoding }, - "Wrong data encoding." ) + assert_all?(parsed.headers, "Wrong data encoding.") {|h| h.encoding == data.encoding} parsed.each do |row| - assert( row.fields.all? { |f| f.encoding == data.encoding }, - "Wrong data encoding." ) + assert_all?(row.fields, "Wrong data encoding.") {|f| f.encoding == data.encoding} end end end @@ -133,8 +131,7 @@ class TestCSV::Encodings < TestCSV def test_built_in_converters_transcode_to_utf_8_then_convert encode_for_tests([%w[one two three], %w[1 2 3]]) do |data| parsed = CSV.parse(data, converters: :integer) - assert( parsed[0].all? { |f| f.encoding == data.encoding }, - "Wrong data encoding." ) + assert_all?(parsed[0], "Wrong data encoding.") {|f| f.encoding == data.encoding} assert_equal([1, 2, 3], parsed[1]) end end @@ -143,10 +140,8 @@ class TestCSV::Encodings < TestCSV encode_for_tests([%w[one two three], %w[1 2 3]]) do |data| parsed = CSV.parse( data, headers: true, header_converters: :downcase ) - assert( parsed.headers.all? { |h| h.encoding.name == "UTF-8" }, - "Wrong data encoding." ) - assert( parsed[0].fields.all? { |f| f.encoding == data.encoding }, - "Wrong data encoding." ) + assert_all?(parsed.headers, "Wrong data encoding.") {|h| h.encoding.name == "UTF-8"} + assert_all?(parsed[0].fields, "Wrong data encoding.") {|f| f.encoding == data.encoding} end end @@ -156,8 +151,7 @@ class TestCSV::Encodings < TestCSV File.open(@temp_csv_path, "wb:#{data.encoding.name}") { |f| f << data } CSV.open(@temp_csv_path, "rb:#{data.encoding.name}") do |csv| csv.each do |row| - assert( row.all? { |f| f.encoding == data.encoding }, - "Wrong data encoding." ) + assert_all?(row, "Wrong data encoding.") {|f| f.encoding == data.encoding} end end @@ -167,8 +161,7 @@ class TestCSV::Encodings < TestCSV end CSV.open(@temp_csv_path, "rb:UTF-32BE:#{data.encoding.name}") do |csv| csv.each do |row| - assert( row.all? { |f| f.encoding == data.encoding }, - "Wrong data encoding." ) + assert_all?(row, "Wrong data encoding.") {|f| f.encoding == data.encoding} end end end @@ -188,8 +181,7 @@ class TestCSV::Encodings < TestCSV end CSV.foreach( @temp_csv_path, encoding: "UTF-32BE:#{data.encoding.name}" ) do |row| - assert( row.all? { |f| f.encoding == data.encoding }, - "Wrong data encoding." ) + assert_all?(row, "Wrong data encoding.") {|f| f.encoding == data.encoding} end end end @@ -199,8 +191,7 @@ class TestCSV::Encodings < TestCSV # read and write in encoding File.open(@temp_csv_path, "wb:#{data.encoding.name}") { |f| f << data } rows = CSV.read(@temp_csv_path, encoding: data.encoding.name) - assert( rows.flatten.all? { |f| f.encoding == data.encoding }, - "Wrong data encoding." ) + assert_all?(rows.flatten, "Wrong data encoding.") {|f| f.encoding == data.encoding} # read and write with transcoding File.open(@temp_csv_path, "wb:UTF-32BE:#{data.encoding.name}") do |f| @@ -208,8 +199,7 @@ class TestCSV::Encodings < TestCSV end rows = CSV.read( @temp_csv_path, encoding: "UTF-32BE:#{data.encoding.name}" ) - assert( rows.flatten.all? { |f| f.encoding == data.encoding }, - "Wrong data encoding." ) + assert_all?(rows.flatten, "Wrong data encoding.") {|f| f.encoding == data.encoding} end end diff --git a/test/csv/test_features.rb b/test/csv/test_features.rb index 9324af7096..a83fff84d8 100755 --- a/test/csv/test_features.rb +++ b/test/csv/test_features.rb @@ -134,10 +134,9 @@ class TestCSV::Features < TestCSV def test_csv_behavior_readers %w[ unconverted_fields return_headers write_headers skip_blanks force_quotes ].each do |behavior| - assert( !CSV.new("abc,def").send("#{behavior}?"), - "Behavior defaulted to on." ) + assert_not_predicate(CSV.new("abc,def"), "#{behavior}?", "Behavior defaulted to on.") csv = CSV.new("abc,def", behavior.to_sym => true) - assert(csv.send("#{behavior}?"), "Behavior change now registered.") + assert_predicate(csv, "#{behavior}?", "Behavior change now registered.") end end @@ -184,9 +183,9 @@ class TestCSV::Features < TestCSV # reported by Chris Roos def test_failing_to_reset_headers_in_rewind_bug_fix csv = CSV.new("forename,surname", headers: true, return_headers: true) - csv.each { |row| assert row.header_row? } + csv.each {|row| assert_predicate row, :header_row?} csv.rewind - csv.each { |row| assert row.header_row? } + csv.each {|row| assert_predicate row, :header_row?} end # reported by Dave Burt @@ -223,25 +222,24 @@ class TestCSV::Features < TestCSV zipped << [1, 2, 3] zipped.close - assert( Zlib::GzipReader.open(file) { |f| f.read }. - include?($INPUT_RECORD_SEPARATOR), - "@row_sep did not default" ) + assert_include(Zlib::GzipReader.open(file) {|f| f.read}, + $INPUT_RECORD_SEPARATOR, "@row_sep did not default") } end if defined?(Zlib::GzipWriter) def test_inspect_is_smart_about_io_types str = CSV.new("string,data").inspect - assert(str.include?("io_type:StringIO"), "IO type not detected.") + assert_include(str, "io_type:StringIO", "IO type not detected.") str = CSV.new($stderr).inspect - assert(str.include?("io_type:$stderr"), "IO type not detected.") + assert_include(str, "io_type:$stderr", "IO type not detected.") Tempfile.create(%w"temp .csv") {|tempfile| tempfile.close path = tempfile.path File.open(path, "w") { |csv| csv << "one,two,three\n1,2,3\n" } str = CSV.open(path) { |csv| csv.inspect } - assert(str.include?("io_type:File"), "IO type not detected.") + assert_include(str, "io_type:File", "IO type not detected.") } end @@ -254,7 +252,7 @@ class TestCSV::Features < TestCSV def test_inspect_shows_headers_when_available CSV.new("one,two,three\n1,2,3\n", headers: true) do |csv| - assert(csv.inspect.include?("headers:true"), "Header hint not shown.") + assert_include(csv.inspect, "headers:true", "Header hint not shown.") csv.shift # load headers assert_match(/headers:\[[^\]]+\]/, csv.inspect) end @@ -262,16 +260,16 @@ class TestCSV::Features < TestCSV def test_inspect_encoding_is_ascii_compatible CSV.new("one,two,three\n1,2,3\n".encode("UTF-16BE")) do |csv| - assert( Encoding.compatible?( Encoding.find("US-ASCII"), - csv.inspect.encoding ), - "inspect() was not ASCII compatible." ) + assert_send([Encoding, :compatible?, + Encoding.find("US-ASCII"), csv.inspect.encoding], + "inspect() was not ASCII compatible.") end end def test_version assert_not_nil(CSV::VERSION) assert_instance_of(String, CSV::VERSION) - assert(CSV::VERSION.frozen?) + assert_predicate(CSV::VERSION, :frozen?) assert_match(/\A\d\.\d\.\d\Z/, CSV::VERSION) end diff --git a/test/csv/test_headers.rb b/test/csv/test_headers.rb index 00ae82af06..069526fc03 100755 --- a/test/csv/test_headers.rb +++ b/test/csv/test_headers.rb @@ -85,8 +85,8 @@ class TestCSV::Headers < TestCSV assert_not_nil(row) assert_instance_of(CSV::Row, row) assert_equal([["my", :my], ["new", :new], ["headers", :headers]], row.to_a) - assert(row.header_row?) - assert(!row.field_row?) + assert_predicate(row, :header_row?) + assert_not_predicate(row, :field_row?) end def test_csv_header_string @@ -127,8 +127,8 @@ class TestCSV::Headers < TestCSV assert_not_nil(row) assert_instance_of(CSV::Row, row) assert_equal([[:my, "my"], [:new, "new"], [:headers, "headers"]], row.to_a) - assert(row.header_row?) - assert(!row.field_row?) + assert_predicate(row, :header_row?) + assert_not_predicate(row, :field_row?) end def test_csv_header_string_inherits_separators @@ -159,24 +159,24 @@ class TestCSV::Headers < TestCSV assert_instance_of(CSV::Row, row) assert_equal( [%w{first first}, %w{second second}, %w{third third}], row.to_a ) - assert(row.header_row?) - assert(!row.field_row?) + assert_predicate(row, :header_row?) + assert_not_predicate(row, :field_row?) # first data row - skipping headers row = csv[1] assert_not_nil(row) assert_instance_of(CSV::Row, row) assert_equal([%w{first A}, %w{second B}, %w{third C}], row.to_a) - assert(!row.header_row?) - assert(row.field_row?) + assert_not_predicate(row, :header_row?) + assert_predicate(row, :field_row?) # second data row row = csv[2] assert_not_nil(row) assert_instance_of(CSV::Row, row) assert_equal([%w{first 1}, %w{second 2}, %w{third 3}], row.to_a) - assert(!row.header_row?) - assert(row.field_row?) + assert_not_predicate(row, :header_row?) + assert_predicate(row, :field_row?) # empty assert_nil(csv[3]) diff --git a/test/csv/test_interface.rb b/test/csv/test_interface.rb index 22907d2dd0..89b4a462f9 100755 --- a/test/csv/test_interface.rb +++ b/test/csv/test_interface.rb @@ -50,16 +50,16 @@ class TestCSV::Interface < TestCSV csv = CSV.open(@path, "r+", col_sep: "\t", row_sep: "\r\n") assert_not_nil(csv) assert_instance_of(CSV, csv) - assert_equal(false, csv.closed?) + assert_not_predicate(csv, :closed?) csv.close - assert(csv.closed?) + assert_predicate(csv, :closed?) ret = CSV.open(@path) do |new_csv| csv = new_csv assert_instance_of(CSV, new_csv) "Return value." end - assert(csv.closed?) + assert_predicate(csv, :closed?) assert_equal("Return value.", ret) end diff --git a/test/csv/test_row.rb b/test/csv/test_row.rb index a097fc7200..d786f38cd4 100755 --- a/test/csv/test_row.rb +++ b/test/csv/test_row.rb @@ -40,16 +40,16 @@ class TestCSV::Row < TestCSV def test_row_type # field rows row = CSV::Row.new(%w{A B C}, [1, 2, 3]) # implicit - assert(!row.header_row?) - assert(row.field_row?) + assert_not_predicate(row, :header_row?) + assert_predicate(row, :field_row?) row = CSV::Row.new(%w{A B C}, [1, 2, 3], false) # explicit - assert(!row.header_row?) - assert(row.field_row?) + assert_not_predicate(row, :header_row?) + assert_predicate(row, :field_row?) # header row row = CSV::Row.new(%w{A B C}, [1, 2, 3], true) - assert(row.header_row?) - assert(!row.field_row?) + assert_predicate(row, :header_row?) + assert_not_predicate(row, :field_row?) end def test_headers @@ -249,10 +249,10 @@ class TestCSV::Row < TestCSV def test_queries # headers - assert(@row.header?("A")) - assert(@row.header?("C")) - assert(!@row.header?("Z")) - assert(@row.include?("A")) # alias + assert_send([@row, :header?, "A"]) + assert_send([@row, :header?, "C"]) + assert_not_send([@row, :header?, "Z"]) + assert_send([@row, :include?, "A"]) # alias # fields assert(@row.field?(4)) @@ -316,7 +316,7 @@ class TestCSV::Row < TestCSV end def test_array_delegation - assert(!@row.empty?, "Row was empty.") + assert_not_empty(@row, "Row was empty.") assert_equal([@row.headers.size, @row.fields.size].max, @row.size) end @@ -324,26 +324,27 @@ class TestCSV::Row < TestCSV def test_inspect_shows_header_field_pairs str = @row.inspect @row.each do |header, field| - assert( str.include?("#{header.inspect}:#{field.inspect}"), - "Header field pair not found." ) + assert_include(str, "#{header.inspect}:#{field.inspect}", + "Header field pair not found.") end end def test_inspect_encoding_is_ascii_compatible - assert( Encoding.compatible?( Encoding.find("US-ASCII"), - @row.inspect.encoding ), - "inspect() was not ASCII compatible." ) + assert_send([Encoding, :compatible?, + Encoding.find("US-ASCII"), + @row.inspect.encoding], + "inspect() was not ASCII compatible.") end def test_inspect_shows_symbol_headers_as_bare_attributes str = CSV::Row.new(@row.headers.map { |h| h.to_sym }, @row.fields).inspect @row.each do |header, field| - assert( str.include?("#{header}:#{field.inspect}"), - "Header field pair not found." ) + assert_include(str, "#{header}:#{field.inspect}", + "Header field pair not found.") end end def test_can_be_compared_with_other_classes - assert(CSV::Row.new([ ], [ ]) != nil, "The row was nil") + assert_not_nil(CSV::Row.new([ ], [ ]), "The row was nil") end end diff --git a/test/csv/test_table.rb b/test/csv/test_table.rb index 318825f2b1..ec710d30cc 100755 --- a/test/csv/test_table.rb +++ b/test/csv/test_table.rb @@ -398,23 +398,24 @@ class TestCSV::Table < TestCSV end def test_array_delegation - assert(!@table.empty?, "Table was empty.") + assert_not_empty(@table, "Table was empty.") assert_equal(@rows.size, @table.size) end def test_inspect_shows_current_mode str = @table.inspect - assert(str.include?("mode:#{@table.mode}"), "Mode not shown.") + assert_include(str, "mode:#{@table.mode}", "Mode not shown.") @table.by_col! str = @table.inspect - assert(str.include?("mode:#{@table.mode}"), "Mode not shown.") + assert_include(str, "mode:#{@table.mode}", "Mode not shown.") end def test_inspect_encoding_is_ascii_compatible - assert( Encoding.compatible?( Encoding.find("US-ASCII"), - @table.inspect.encoding ), + assert_send([Encoding, :compatible?, + Encoding.find("US-ASCII"), + @table.inspect.encoding], "inspect() was not ASCII compatible." ) end end -- cgit v1.2.3