Мне дали задание:
Рассмотрим список однозначных чисел. Например,
[2,2,5]
. Рассмотрим наследников таких списков.
- Преемником
[2,2,5]
является[2,2,6]
.- Преемником
[2,3,9,9]
является[2,4,0,0]
.- Преемником
[9,9,9,9]
является[1,0,0,0,0]
.Напишите программу на Java, которая принимает такой список чисел как ввод и возвращает его преемника. Вы не можете выразить этот список как десятичное число и вычислить его преемник, поскольку число может быть настолько большим, что происходит переполнение. Сделайте вашу программу максимально короткой.
Отправьте код на Java вместе с инструкциями по компиляции и тестовыми сценариями.
Я написал программу, скомпилировал и успешно запустил ее. Программа делает именно то, что требует назначение. Однако я не уверен, что инструктор имеет в виду под тестовыми сценариями. Кто-нибудь, пожалуйста, объясните и приведите пример, что это такое?
Примечание. Если вы решите отклонить вопрос, укажите причину, чтобы я мог отредактировать свой вопрос.
2 ответа
Посмотрите Junit. Профессор хочет, чтобы вы создали тестовый класс, который тестирует конкретные сценарии. Что-то вроде этого:
@Test
public void testSuccesor() {
int[] start = {2,2,5};
int[] expected = {2,2,6};
int[] actual = callSuccesorMethod(start);
assertArrayEquals(expected, actual);
}
Тест выдаст ошибку, если ожидаемое значение не соответствует фактическому значению. Модульное тестирование - отличный способ проверить ваш код. Это также помогает в дальнейшей разработке, когда вы изменяете код, вы можете просто повторно запустить свои тесты, чтобы убедиться, что вы ничего не сломали.
Проверьте TDD, его стиль программирования, который может вас заинтересовать.
Тестовый скрипт - это программа, которая выполняет ваш код (известный как « тестируемая система » или просто « SUT ») предсказуемым образом и проверяет его поведение. исправить для заданных входов. Тест может быть на том же языке, что и SUT, но очень часто используется другой язык, поскольку у вас разные требования к производительности, простоте модификации, удобочитаемости и надежности.
Например, простого сценария оболочки может быть достаточно в вашем случае:
#!/bin/bash
set -e # important, so the script fails if any single command fails
test '2,2,6' = $(./successor '2,2,5')
test '2,4,0,0' = $(./successor '2,3,9,9')
# Add any more tests you think you should have
Если ваши инструкции по компиляции представлены в виде Makefile, вы также можете запустить свои тесты оттуда. Общепринято называть цель test
, поэтому make test
будет компилировать вашу программу и запускать ее тесты.
Похожие вопросы
Связанные вопросы
Новые вопросы
java
Java — это высокоуровневый объектно-ориентированный язык программирования. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег часто используется вместе с другими тегами для библиотек и/или фреймворков, используемых разработчиками Java.