Сегодня я торжественно финишировал со сдачей всех своих долгов, успешно отчитавшись по “Электронной коммерции”. Самое интересное, как обычно было на ТКПО у С. А. Орлова. Надо было написать тестовый модуль, для прогонки определенного кода. Поскольку кроме ruby других интерпретаторов не держу, а всякие Delphi/Dotnet долго и неинтересно писал его на ruby. Вынес тестируемый кусок в отдельную функцию, и положил в папку скрипта простой файлик в виде:
- price: 50
discount: 10
result: 45
- price: -20
discount: 10
result: -1
А дальше сам модуль:
tc = YAML::load( File.open( 'testcase6.yml' ) )
tc.map do |m|
puts "Result is "+"%3.2f" % discount(m).to_f
end
Коротко и прикольно. Единственное, что могу сказать: не забывайте о пробелах. Иначе, вместо красивого хеша, каждый тестовый вариант будет всего лишь стрингом, с которым конечно можно работать, но гемморою не меньше чем в delphi.
Подробнее о YAML: