record: 0 und 1 = erste Zeile, negative Nummern zählen vom Ende
This commit is contained in:
+12
-7
@@ -5,8 +5,18 @@ require 'pty'
|
||||
require_relative '../lib/rdb'
|
||||
|
||||
class SelectionTest < RdbCase
|
||||
def test_record_rejects_numbers_below_one_and_junk
|
||||
%w[0 -1 abc 2.5].each do |n|
|
||||
def test_record_zero_and_one_are_the_first_and_negatives_count_from_the_end
|
||||
{ '0' => '1', '1' => '1', '2' => '3', '3' => '6', '-1' => '6', '-2' => '3', '-3' => '1', '+2' => '3' }.each do |n, item|
|
||||
assert_equal [[item]], data(rdb('record', n, file: 'owners')).map { |r| r.first(1) }, "record #{n}"
|
||||
end
|
||||
end
|
||||
|
||||
def test_record_beyond_either_end_is_an_empty_table
|
||||
%w[4 9 -4 -9].each { |n| assert_equal [], data(rdb('record', n, file: 'owners')), "record #{n}" }
|
||||
end
|
||||
|
||||
def test_record_rejects_junk
|
||||
%w[abc 2.5 1e3].each do |n|
|
||||
out, err, st = run3('record', n, stdin: File.read(File.join(@dir, 'owners')))
|
||||
refute st.success?, "record #{n} should fail"
|
||||
assert_equal '', out
|
||||
@@ -14,11 +24,6 @@ class SelectionTest < RdbCase
|
||||
end
|
||||
end
|
||||
|
||||
def test_record_beyond_the_end_is_an_empty_table
|
||||
assert_equal [], data(rdb('record', '9', file: 'owners'))
|
||||
assert_equal [%w[6 cy]], data(rdb('record', '3', file: 'owners'))
|
||||
end
|
||||
|
||||
def test_row_numeric_condition
|
||||
out = rdb('row', 'Cost > 5', file: 'inventory')
|
||||
assert_equal %w[3 6 7], data(out).map(&:first)
|
||||
|
||||
Reference in New Issue
Block a user