refactor: reorganize test files and update .gitignore for new test paths

lab4
Artem-Darius Weber 2 months ago
parent b2cf71804a
commit c433dccf04

2
.gitignore vendored

@ -1 +1 @@
lab2/students_test.txt lab2/tests/students_test.txt

@ -1,30 +0,0 @@
require_relative 'student_short'
require_relative 'data_list_student_short'
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)
puts "Столбцы: #{data_list.get_names.inspect}"
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
new_students = [
StudentShort.new(id: '4', surname_initials: 'Новиков Н.Н.', phone: '+79994445566'),
StudentShort.new(id: '5', surname_initials: 'Кузнецов К.К.', email: 'kuznetsov@example.com')
]
data_list.items = new_students
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

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

@ -1,4 +1,4 @@
require_relative 'data_table' require_relative '../data_table'
data = [ data = [
[1, "Alice", 25], [1, "Alice", 25],

@ -1,7 +1,7 @@
require 'date' require 'date'
require_relative 'students_list_txt' require_relative '../students_list_txt'
require_relative 'student' require_relative '../student'
require_relative 'student_short' require_relative '../student_short'
def run_tests def run_tests
filename = 'students_test.txt' filename = 'students_test.txt'
Loading…
Cancel
Save