test/ruby_test.rb in data_cleansing-0.6.1 vs test/ruby_test.rb in data_cleansing-0.8.0

- old
+ new

@@ -1,16 +1,7 @@ -# Allow examples to be run in-place without requiring a gem install -$LOAD_PATH.unshift File.dirname(__FILE__) + '/../lib' +require_relative 'test_helper' -require 'rubygems' -require 'test/unit' -require 'shoulda' -require 'data_cleansing' - -# Define a global cleanser -DataCleansing.register_cleaner(:strip) {|string| string.strip} - # Non Cleansing base class class RubyUserBase attr_accessor :version end @@ -41,13 +32,10 @@ class RubyUserChild < RubyUser attr_accessor :gender cleanse :gender, :cleaner => Proc.new {|gender| gender.to_s.strip.downcase} end -# Another global cleaner, used by RubyUser2 -DataCleansing.register_cleaner(:upcase) {|string| string.upcase} - class RubyUser2 include DataCleansing::Cleanse attr_accessor :first_name, :last_name, :title, :address1, :address2, :gender @@ -73,116 +61,116 @@ end end ] end -class RubyTest < Test::Unit::TestCase - context "Ruby Models" do +class RubyTest < Minitest::Test + describe "Ruby Models" do - should 'have globally registered cleaner' do + it 'have globally registered cleaner' do assert DataCleansing.cleaner(:strip) end - should 'Model.cleanse_attribute' do + it 'Model.cleanse_attribute' do assert_equal 'male', RubyUserChild.cleanse_attribute(:gender, "\n Male \n"), RubyUserChild.send(:data_cleansing_attribute_cleaners) assert_equal 'joe', RubyUserChild.cleanse_attribute(:first_name, ' joe '), RubyUserChild.send(:data_cleansing_attribute_cleaners) assert_equal 'black', RubyUserChild.cleanse_attribute(:last_name, "\n black\n"), RubyUserChild.send(:data_cleansing_attribute_cleaners) assert_equal '<< 2632 Brown St >>', RubyUserChild.cleanse_attribute(:address1, "2632 Brown St \n"), RubyUserChild.send(:data_cleansing_attribute_cleaners) end - context "with ruby user" do - setup do + describe "with ruby user" do + before do @user = RubyUser.new @user.first_name = ' joe ' @user.last_name = "\n black\n" @user.address1 = "2632 Brown St \n" end - should 'cleanse_attributes! using global cleaner' do + it 'cleanse_attributes! using global cleaner' do @user.cleanse_attributes! assert_equal 'joe', @user.first_name assert_equal 'black', @user.last_name end - should 'cleanse_attributes! using attribute specific custom cleaner' do + it 'cleanse_attributes! using attribute specific custom cleaner' do @user.cleanse_attributes! assert_equal '<< 2632 Brown St >>', @user.address1 end - should 'cleanse_attributes! not cleanse nil attributes' do + it 'cleanse_attributes! not cleanse nil attributes' do @user.first_name = nil @user.cleanse_attributes! assert_equal nil, @user.first_name end - should 'cleanse_attributes! call after cleaner' do + it 'cleanse_attributes! call after cleaner' do @user.first_name = 'Jack' @user.last_name = nil @user.cleanse_attributes! assert_equal nil, @user.first_name, @user.inspect assert_equal 'Jack', @user.last_name, @user.inspect end end - context "with ruby user child" do - setup do + describe "with ruby user child" do + before do @user = RubyUserChild.new @user.first_name = ' joe ' @user.last_name = "\n black\n" @user.address1 = "2632 Brown St \n" @user.gender = "\n Male \n" end - should 'cleanse_attributes! using global cleaner' do + it 'cleanse_attributes! using global cleaner' do @user.cleanse_attributes! assert_equal 'joe', @user.first_name assert_equal 'black', @user.last_name end - should 'cleanse_attributes! using attribute specific custom cleaner' do + it 'cleanse_attributes! using attribute specific custom cleaner' do @user.cleanse_attributes! assert_equal '<< 2632 Brown St >>', @user.address1 end - should 'cleanse_attributes! not cleanse nil attributes' do + it 'cleanse_attributes! not cleanse nil attributes' do @user.first_name = nil @user.cleanse_attributes! assert_equal nil, @user.first_name end - should 'cleanse_attributes! clean child attributes' do + it 'cleanse_attributes! clean child attributes' do @user.cleanse_attributes! assert_equal 'male', @user.gender end end - context "with ruby user2" do - setup do + describe "with ruby user2" do + before do @user = RubyUser2.new @user.first_name = ' joe ' @user.last_name = "\n black\n" @user.address1 = "2632 Brown St \n" @user.title = " \nmr \n" @user.gender = " Unknown " end - should 'cleanse_attributes!' do + it 'cleanse_attributes!' do @user.cleanse_attributes! assert_equal 'joe', @user.first_name assert_equal 'black', @user.last_name assert_equal '2632 Brown St', @user.address1 end - should 'cleanse_attributes! with multiple cleaners' do + it 'cleanse_attributes! with multiple cleaners' do @user.cleanse_attributes! assert_equal 'MR.', @user.title end - should 'cleanse_attributes! referencing other attributes' do + it 'cleanse_attributes! referencing other attributes' do @user.cleanse_attributes! assert_equal 'Male', @user.gender end end end -end \ No newline at end of file +end