Тестовый проект
This commit is contained in:
45
lab4/calctests/app/build.gradle
Normal file
45
lab4/calctests/app/build.gradle
Normal file
@@ -0,0 +1,45 @@
|
||||
/*
|
||||
* This file was generated by the Gradle 'init' task.
|
||||
*
|
||||
* This generated file contains a sample Java application project to get you started.
|
||||
* For more details on building Java & JVM projects, please refer to https://docs.gradle.org/8.8/userguide/building_java_projects.html in the Gradle documentation.
|
||||
*/
|
||||
|
||||
plugins {
|
||||
// Apply the application plugin to add support for building a CLI application in Java.
|
||||
id 'application'
|
||||
}
|
||||
|
||||
repositories {
|
||||
// Use Maven Central for resolving dependencies.
|
||||
mavenCentral()
|
||||
}
|
||||
|
||||
dependencies {
|
||||
// Use JUnit Jupiter for testing.
|
||||
testImplementation libs.junit.jupiter
|
||||
|
||||
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
|
||||
|
||||
// This dependency is used by the application.
|
||||
implementation libs.guava
|
||||
|
||||
implementation files('./libs/calculator-1.0.jar')
|
||||
}
|
||||
|
||||
// Apply a specific Java toolchain to ease working on different environments.
|
||||
java {
|
||||
toolchain {
|
||||
languageVersion = JavaLanguageVersion.of(21)
|
||||
}
|
||||
}
|
||||
|
||||
application {
|
||||
// Define the main class for the application.
|
||||
mainClass = 'dev.tishenko.calctests.App'
|
||||
}
|
||||
|
||||
tasks.named('test') {
|
||||
// Use JUnit Platform for unit tests.
|
||||
useJUnitPlatform()
|
||||
}
|
||||
BIN
lab4/calctests/app/libs/calculator-1.0.jar
Normal file
BIN
lab4/calctests/app/libs/calculator-1.0.jar
Normal file
Binary file not shown.
@@ -0,0 +1,14 @@
|
||||
/*
|
||||
* This source file was generated by the Gradle 'init' task
|
||||
*/
|
||||
package dev.tishenko.calctests;
|
||||
|
||||
public class App {
|
||||
public String getGreeting() {
|
||||
return "Hello World!";
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
System.out.println(new App().getGreeting());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
/*
|
||||
* This source file was generated by the Gradle 'init' task
|
||||
*/
|
||||
package dev.tishenko.calctests;
|
||||
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.params.ParameterizedTest;
|
||||
import org.junit.jupiter.params.provider.CsvSource;
|
||||
import org.junit.jupiter.params.provider.ValueSource;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
import com.epam.tat.module4.Calculator;
|
||||
|
||||
class CalculatorTest {
|
||||
private static final double DELTA = 0.0001;
|
||||
private Calculator calculator;
|
||||
|
||||
@BeforeEach
|
||||
void setUp() {
|
||||
calculator = new Calculator();
|
||||
}
|
||||
|
||||
@ParameterizedTest
|
||||
@CsvSource({
|
||||
"1, 2, 3",
|
||||
"5, 0, 5",
|
||||
"-7, 7, 0",
|
||||
"9223372036854775806, 1, 9223372036854775807"
|
||||
})
|
||||
void testLongSum(long a, long b, long expected) {
|
||||
assertEquals(expected, calculator.sum(a, b));
|
||||
}
|
||||
|
||||
@ParameterizedTest
|
||||
@CsvSource({
|
||||
"1.5, 2.5, 4.0",
|
||||
"5.5, 0.0, 5.5",
|
||||
"-3.5, 3.5, 0.0",
|
||||
"0.1, 0.2, 0.3"
|
||||
})
|
||||
void testDoubleSum(double a, double b, double expected) {
|
||||
assertEquals(expected, calculator.sum(a, b), DELTA);
|
||||
}
|
||||
|
||||
@ParameterizedTest
|
||||
@CsvSource({
|
||||
"2.5, 3.0, 7.5",
|
||||
"0.0, 5.5, 0.0",
|
||||
"-2.5, 3.0, -7.5",
|
||||
"-2.5, -3.0, 7.5"
|
||||
})
|
||||
void testDoubleMult(double a, double b, double expected) {
|
||||
assertEquals(expected, calculator.mult(a, b), DELTA);
|
||||
}
|
||||
|
||||
@ParameterizedTest
|
||||
@CsvSource({
|
||||
"2, 3, 6",
|
||||
"0, 5, 0",
|
||||
"-2, 3, -6",
|
||||
"-2, -3, 6",
|
||||
"1000, 1000, 1000000"
|
||||
})
|
||||
void testLongMult(long a, long b, long expected) {
|
||||
assertEquals(expected, calculator.mult(a, b));
|
||||
}
|
||||
|
||||
@ParameterizedTest
|
||||
@ValueSource(doubles = { 4.0, 0.0, -4.0, 1000000.0 })
|
||||
void testSqrt(double value) {
|
||||
double expected = Math.sqrt(Math.abs(value));
|
||||
assertEquals(expected, calculator.sqrt(value), DELTA);
|
||||
}
|
||||
|
||||
@ParameterizedTest
|
||||
@ValueSource(doubles = { 0, Math.PI / 6, Math.PI / 4, -Math.PI / 3, 10 })
|
||||
void testTg(double angle) {
|
||||
double expected = Math.tan(angle);
|
||||
double actual = calculator.tg(angle);
|
||||
assertEquals(expected, actual, 0.0001);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user