#!/usr/bin/ruby
# Array.index() and Array.bindex()
var a = ["Alice", "Jane", "Joe", "John", "Kate", "Zerg"]
assert_eq(a.bindex {|t| t <=> 'Kate' }, a.index('Kate'))
assert_eq(a.bindex {|t| t <=> 'Zerg' }, a.index('Zerg'))
assert_eq(a.bindex {|t| t <=> 'Alice' }, a.index('Alice'))
assert_eq(a.bindex { _ <=> 'Aaa' }, -1)
assert_eq(a.bindex { _ <=> 'Zzz' }, -1)
assert_eq(a.bindex { _ <=> 'Jack' }, -1)
assert_eq(a.bindex { _ <=> 'Joey' }, -1)
assert_eq(a.bindex('Jane'), a.index { _ == 'Jane' })
assert_eq(a.bindex('Alice'), a.index { _ == 'Alice' })
assert_eq(a.bindex('John'), a.index { _ == 'John' })
assert_eq(a.bindex('Zerg'), a.index { _ == 'Zerg' })
assert_eq(a.bindex('Aaa'), -1)
assert_eq(a.bindex('Zzz'), -1)
assert_eq(a.bindex('Jack'), -1)
assert_eq(a.bindex('Joey'), -1)
say "** Test passed!"