Тестовый проект

This commit is contained in:
2025-04-30 18:06:44 +03:00
parent a7a3c197a1
commit 035ea70161
13 changed files with 532 additions and 0 deletions

View 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()
}

Binary file not shown.

View File

@@ -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());
}
}

View File

@@ -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);
}
}