add self_test.rb