77 lines
1.9 KiB
Ruby
Executable File
77 lines
1.9 KiB
Ruby
Executable File
#
|
|
# string_test.rb
|
|
# String class extensions unit tests
|
|
#
|
|
# Author:: David Muir <david.muir@rockstarnorth.com>
|
|
# Date:: 10 March 2008
|
|
#
|
|
|
|
require 'pipeline/util/string'
|
|
require 'test/unit'
|
|
|
|
module Pipeline
|
|
module Test
|
|
|
|
#
|
|
# == Description
|
|
# Test cases for additional string methods declared above.
|
|
#
|
|
class StringTest < ::Test::Unit::TestCase
|
|
|
|
def test_mgsub
|
|
|
|
assert_equal( TEST_01_RESULT, TEST_01_SOURCE.mgsub( TEST_01_REGEXP ),
|
|
"mgsub TEST_01 failed." )
|
|
assert_equal( TEST_02_RESULT, TEST_02_SOURCE.mgsub( TEST_02_REGEXP ),
|
|
"mgsub TEST_02 failed." )
|
|
end
|
|
|
|
def test_mgsubex
|
|
|
|
assert_equal( TEST_01_RESULT, TEST_01_SOURCE.mgsub!( TEST_01_REGEXP ),
|
|
"mgsub! TEST_01 failed." )
|
|
assert_equal( TEST_02_RESULT, TEST_02_SOURCE.mgsub!( TEST_02_REGEXP ),
|
|
"mgsub! TEST_02 failed." )
|
|
end
|
|
|
|
def test_starts_with
|
|
|
|
assert( TEST_03_SOURCE.starts_with( TEST_03_SOURCE ) )
|
|
assert( TEST_03_SOURCE.starts_with( TEST_03_STARTS ) )
|
|
assert( !TEST_03_SOURCE.starts_with( TEST_04_ENDS ) )
|
|
end
|
|
|
|
def test_ends_with
|
|
|
|
assert( TEST_04_SOURCE.ends_with( TEST_04_SOURCE ) )
|
|
assert( TEST_04_SOURCE.ends_with( TEST_04_ENDS ) )
|
|
assert( !TEST_04_SOURCE.ends_with( TEST_03_STARTS ) )
|
|
end
|
|
|
|
#---------------------------------------------------------------------
|
|
# Private Constants (Test Data)
|
|
#---------------------------------------------------------------------
|
|
|
|
private
|
|
|
|
TEST_01_SOURCE = 'GO HOME!'
|
|
TEST_01_REGEXP = [[/.*GO/i, 'Home'], [/home/i, 'is where the heart is']]
|
|
TEST_01_RESULT = 'Home is where the heart is!'
|
|
|
|
TEST_02_SOURCE = 'Here is number #123'
|
|
TEST_02_REGEXP = [[/[a-z]/i, '#'], [/#/, 'P']]
|
|
TEST_02_RESULT = '#### ## ###### P123'
|
|
|
|
TEST_03_SOURCE = 'teststartswith'
|
|
TEST_03_STARTS = 'tests'
|
|
|
|
TEST_04_SOURCE = 'testsendwith'
|
|
TEST_04_ENDS = 'with'
|
|
|
|
end
|
|
|
|
end # Test module
|
|
end # Pipeline module
|
|
|
|
# End of string_test.rb
|