Sha256: ac9319170d890a8c116f707d86a930855a6755df27af5843219a69b4ae31202c

Contents?: true

Size: 1.65 KB

Versions: 3

Compression:

Stored size: 1.65 KB

Contents

require File.dirname(__FILE__) + '/../test_helper'
include HasSetting
class FormattersTest < Test::Unit::TestCase
  def test_for_type
    [:string, :float, :int].each do |symbol|
      assert(Formatters.for_type(symbol), "No formatter for #{symbol}")
    end
    assert_raises(ArgumentError) do
      Formatters.for_type(:rarararararara_i_do_not_exist)
    end
  end
  
  def test_string_formatter()
    f = Formatters::StringFormatter.new
    assert_equal('', f.to_s(''))
    assert_equal('a', f.to_s('a'))
    assert_equal('', f.to_type(''))
    assert_equal('a', f.to_type('a'))
  end
  
  def test_int_formatter()
    f = Formatters::IntFormatter.new
    assert_raises(ArgumentError) do 
      f.to_s('')
    end
    assert_raises(ArgumentError) do 
      f.to_s('asas')
    end
    assert_nil(f.to_s(nil))
    assert_equal('2', f.to_s(2.6))
    assert_equal('2', f.to_s(2))
    
    assert_raises(ArgumentError) do 
      f.to_type('')
    end
    assert_raises(ArgumentError) do 
      f.to_type('asas')
    end
    assert_nil(f.to_type(nil))
    assert_equal(2, f.to_type('2'))
    assert_equal(2, f.to_type('2.6'))
  end  
  
  def test_float_formatter()
    f = Formatters::FloatFormatter.new
    assert_raises(ArgumentError) do 
      f.to_s('')
    end
    assert_raises(ArgumentError) do 
      f.to_s('asas')
    end
    assert_nil(f.to_s(nil))
    assert_equal('2.6', f.to_s(2.6))
    assert_equal('2.0', f.to_s(2))
    
    assert_raises(ArgumentError) do 
      f.to_type('')
    end
    assert_raises(ArgumentError) do 
      f.to_type('asas')
    end
    assert_nil(f.to_type(nil))
    assert_equal(2.0, f.to_type('2'))
    assert_equal(2.6, f.to_type('2.6'))
  end  
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
simplificator-has_setting-0.3.6 test/unit/formatters_test.rb
simplificator-has_setting-0.3.7 test/unit/formatters_test.rb
simplificator-has_setting-0.3.8 test/unit/formatters_test.rb