require 'test_helper' require 'script_finder/base_finder' class BaseFinderTest < Test::Unit::TestCase def test_correct_creation_of_class assert f = BaseFinder.new("g") assert_equal f.bin_dir, "script" assert_equal f.command, "g" end def test_creation_with_diffent_bin assert f = BaseFinder.new("g","robs_special_base_bin") assert_equal f.command, "g" assert_equal f.bin_dir, "robs_special_base_bin" end def test_required_class_method_overide assert_raise(NotImplementedError){BaseFinder.find_and_execute("hope")} end def test_unique_prefixes prefixes = BaseFinder.new('blah').send(:unique_prefixes, %w{db dbconsole destroy desmond}) assert_equal prefixes.values.size, prefixes.values.uniq.size end def test_unique_prefixes_gives_shortest_prefix prefixes = BaseFinder.new('blah').send(:unique_prefixes, %w{db dbconsole destroy desmond funball}) assert_equal 'db', prefixes['db'] assert_equal 'dbc', prefixes['dbconsole'] assert_equal 'dest', prefixes['destroy'] assert_equal 'desm', prefixes['desmond'] assert_equal 'f', prefixes['funball'] end end