Провести интеграционное тестирование программы, осуществляющей вычисление системы функций (в соответствии с вариантом).
x <= 0 : (((((tan(x) ^ 2) ^ 3) ^ 3) ^ 2) ^ 3)
x > 0 : (((((log_3(x) * log_10(x)) / ln(x)) + log_5(x)) - log_3(x)) / (ln(x) * log_10(x)))
- Все составляющие систему функции (как тригонометрические, так и логарифмические) должны быть выражены через базовые (тригонометрическая зависит от варианта; логарифмическая - натуральный логарифм).
- Структура приложения, тестируемого в рамках лабораторной работы, должна выглядеть следующим образом (пример приведён для базовой тригонометрической функции sin(x)):
- Обе "базовые" функции (в примере выше - sin(x) и ln(x)) должны быть реализованы при помощи разложения в ряд с задаваемой погрешностью. Использовать тригонометрические / логарифмические преобразования для упрощения функций ЗАПРЕЩЕНО.
- Для КАЖДОГО модуля должны быть реализованы табличные заглушки. При этом, необходимо найти область допустимых значений функций, и, при необходимости, определить взаимозависимые точки в модулях.
- Разработанное приложение должно позволять выводить значения, выдаваемое любым модулем системы, в сsv файл вида «X, Результаты модуля (X)», позволяющее произвольно менять шаг наращивания Х. Разделитель в файле csv можно использовать произвольный.
- JUnit 5
- График системы
- Mockito - annotations
- Mockito - использование
- BigDecimal / BigInteger
- WolframAlpha
@Test
@DisplayName("Test name")
void testName() {
assertAll(
() -> assertEquals(1, 1)
);
}
@ParameterizedTest
@DisplayName("Parameterized test name")
@ValueSource(its = {1})
void parameterizedTestName(int param) {
assertAll(
() -> assertEquals(1, param)
);
}