Member 13009980 Ответов: 1

Нужно выяснить количество тестовых случаев, чтобы достичь этой программы


Банк предлагает следующие ипотечные ставки:

Термин Скорость
10 лет 3.00%
30 лет 4,50%
Со следующими модификаторами, основанными на кредитном балле клиента:

Модификатор Ставки Кредитного Балла
От 300 до 699 2.00%
От 700 до 799 0.00%
От 800 до 850 -0,50%
Фактическая ставка по ипотеке рассчитывается с использованием как срока, так и кредитного балла. Например, если человек нуждается в 10-летней ипотеке и имеет кредитный рейтинг 550, то ставка будет равна: 3% + 2% = 5%. Если другой человек нуждается в такой же ипотеке, но имеет кредитный рейтинг 810, ставка составит 3% - 0,50% = 2,50%.



float calculaterate(int term, int score)

{

плавающая ставка = 0;

если (термин = = 10)

скорость = 0,03 f;

иначе если (термин = = 30)

скорость = 0,045 f;

если (оценка >= 800)

норма возврата-0.005 f;

иначе если (оценка >= 700)

скорость возврата ;

иначе если (оценка >= 300)

скорость возврата + 0,02 f;

бросить новое исключение argumentoutofrangeexception();

}

Количество тестовых случаев, необходимых для достижения 100% покрытия кода, составляет

Что я уже пробовал:

I оценка: 10, Оценка: 300, результат:
0.05

оценка: 10, Оценка: 700, результат:
0.03

оценка: 10, Оценка: 850, результат:
0.025

оценка: 30, оценка: 300, результат:
0.065

ставки: 30, рейтинг: 700, результат:
0.045

оценка: 30, оценка: 850, результат:

1 Ответов

Рейтинг:
1

OriginalGriff

Важный бит: "количество тестовых случаев, необходимых для достижения 100% покрытие кода есть".
Это означает, что вам нужно предоставить тестовый случай, который означает, что выполняется каждый возможный путь кода. Итак, два случая для каждого if-один, который проходит тест, и один, который терпит неудачу.
Вы пока этого не делаете - я вижу, по крайней мере, одно дело вы не освещаете ... исключение.
Проверьте свой код, убедитесь, что ваши тесты охватывают каждое условие.

Я не собираюсь делать это за тебя, потому что это твое домашнее задание!