|
|
|
@ -1,54 +1,30 @@
|
|
|
|
|
require 'minitest/autorun'
|
|
|
|
|
require_relative '../data_list_student_short'
|
|
|
|
|
require_relative '../student_short'
|
|
|
|
|
require_relative '../data_list_student_short'
|
|
|
|
|
|
|
|
|
|
class TestDataListStudentShort < Minitest::Test
|
|
|
|
|
def setup
|
|
|
|
|
@students = [
|
|
|
|
|
students = [
|
|
|
|
|
StudentShort.new(id: '1', surname_initials: 'Иванов И.И.', phone: '+79991112233'),
|
|
|
|
|
StudentShort.new(id: '2', surname_initials: 'Петров П.П.', telegram: '@petrov'),
|
|
|
|
|
StudentShort.new(id: '3', surname_initials: 'Сидоров С.С.', email: 'sidorov@mail.ru')
|
|
|
|
|
]
|
|
|
|
|
@data_list = DataListStudentShort.new(@students)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def test_get_names
|
|
|
|
|
assert_equal ['№', 'Фамилия и инициалы', 'Телефон', 'Telegram', 'Email'],
|
|
|
|
|
@data_list.get_names
|
|
|
|
|
end
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
def test_get_data
|
|
|
|
|
table = @data_list.get_data
|
|
|
|
|
data_list = DataListStudentShort.new(students)
|
|
|
|
|
|
|
|
|
|
assert_equal 3, table.rows_count
|
|
|
|
|
assert_equal 5, table.columns_count
|
|
|
|
|
puts "Столбцы: #{data_list.get_names.inspect}"
|
|
|
|
|
|
|
|
|
|
assert_equal 1, table.item(0, 0)
|
|
|
|
|
assert_equal 'Иванов И.И.', table.item(0, 1)
|
|
|
|
|
assert_equal '+79991112233', table.item(0, 2)
|
|
|
|
|
assert_equal '-', table.item(0, 3)
|
|
|
|
|
assert_equal '-', table.item(0, 4)
|
|
|
|
|
|
|
|
|
|
assert_equal '-', table.item(1, 2)
|
|
|
|
|
assert_equal '@petrov', table.item(1, 3)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def test_selection_functionality
|
|
|
|
|
@data_list.select(0)
|
|
|
|
|
@data_list.select(2)
|
|
|
|
|
assert_equal [0, 2], @data_list.get_selected
|
|
|
|
|
end
|
|
|
|
|
table = data_list.get_data
|
|
|
|
|
(0...table.rows_count).each do |row|
|
|
|
|
|
puts (0...table.columns_count).map { |col| table.item(row, col) }.join(' | ')
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def test_invalid_data_handling
|
|
|
|
|
invalid_students = [
|
|
|
|
|
{ id: '1', name: 'Иванов И.И.', phone: '+79991112233' },
|
|
|
|
|
StudentShort.new(id: '2', surname_initials: 'Петров П.П.', telegram: '@petrov')
|
|
|
|
|
]
|
|
|
|
|
data_list = DataListStudentShort.new(invalid_students)
|
|
|
|
|
new_students = [
|
|
|
|
|
StudentShort.new(id: '4', surname_initials: 'Новиков Н.Н.', phone: '+79994445566'),
|
|
|
|
|
StudentShort.new(id: '5', surname_initials: 'Кузнецов К.К.', email: 'kuznetsov@example.com')
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
table = data_list.get_data
|
|
|
|
|
data_list.items = new_students
|
|
|
|
|
|
|
|
|
|
assert_equal 'N/A', table.item(0, 1)
|
|
|
|
|
assert_equal '-', table.item(0, 3)
|
|
|
|
|
end
|
|
|
|
|
puts "\nПосле замены:"
|
|
|
|
|
table = data_list.get_data
|
|
|
|
|
(0...table.rows_count).each do |row|
|
|
|
|
|
puts (0...table.columns_count).map { |col| table.item(row, col) }.join(' | ')
|
|
|
|
|
end
|