Add tests
This commit is contained in:
parent
5cb49ba8a9
commit
0b590dece2
|
@ -4,6 +4,22 @@
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>hexagonal</artifactId>
|
<artifactId>hexagonal</artifactId>
|
||||||
<version>1.0</version>
|
<version>1.0</version>
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
|
<configuration>
|
||||||
|
<source>12</source>
|
||||||
|
<target>12</target>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<artifactId>maven-surefire-plugin</artifactId>
|
||||||
|
<version>2.22.2</version>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
<name>hexagonal</name>
|
<name>hexagonal</name>
|
||||||
<description>A quick and practical example of Hexagonal Architecture in Java</description>
|
<description>A quick and practical example of Hexagonal Architecture in Java</description>
|
||||||
|
|
||||||
|
@ -14,4 +30,41 @@
|
||||||
<relativePath>../../parent-java</relativePath>
|
<relativePath>../../parent-java</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<maven.compiler.target>12</maven.compiler.target>
|
||||||
|
<maven.compiler.source>12</maven.compiler.source>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.junit.jupiter</groupId>
|
||||||
|
<artifactId>junit-jupiter-engine</artifactId>
|
||||||
|
<version>5.3.1</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.mockito</groupId>
|
||||||
|
<artifactId>mockito-core</artifactId>
|
||||||
|
<version>2.21.0</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.junit.platform</groupId>
|
||||||
|
<artifactId>junit-platform-runner</artifactId>
|
||||||
|
<version>1.2.0</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.junit.vintage</groupId>
|
||||||
|
<artifactId>junit-vintage-engine</artifactId>
|
||||||
|
<version>5.2.0</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.mockito</groupId>
|
||||||
|
<artifactId>mockito-junit-jupiter</artifactId>
|
||||||
|
<version>2.23.0</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
</project>
|
</project>
|
||||||
|
|
|
@ -0,0 +1,39 @@
|
||||||
|
package com.baeldung.pattern.hexagonal.repository;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
|
||||||
|
class MockWeatherRepositoryUnitTest {
|
||||||
|
|
||||||
|
private final WeatherRepository tested = new MockWeatherRepository();
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void givenLocationClujNapoca_whenGetTemperature_thenExpect17() {
|
||||||
|
double result = tested.getTemperature("cluj-napoca");
|
||||||
|
|
||||||
|
assertEquals(17, result);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void givenLocationBucharest_whenGetTemperature_thenExpect22() {
|
||||||
|
double result = tested.getTemperature("bucharest");
|
||||||
|
|
||||||
|
assertEquals(22, result);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void givenLocationNewYork_whenGetTemperature_thenExpect15() {
|
||||||
|
double result = tested.getTemperature("new york");
|
||||||
|
|
||||||
|
assertEquals(15, result);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void givenLocationDefault_whenGetTemperature_thenExpect20() {
|
||||||
|
double result = tested.getTemperature("default");
|
||||||
|
|
||||||
|
assertEquals(20, result);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
package com.baeldung.pattern.hexagonal.repository;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||||
|
|
||||||
|
class RepositoryFactoryUnitTest {
|
||||||
|
@Test
|
||||||
|
void whenGetMockWeatherRepository_thenExpectMockWeatherRepositoryInstance() {
|
||||||
|
WeatherRepository result = RepositoryFactory.getMockWeatherRepository();
|
||||||
|
|
||||||
|
assertTrue(result instanceof MockWeatherRepository);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,39 @@
|
||||||
|
package com.baeldung.pattern.hexagonal.service;
|
||||||
|
|
||||||
|
import com.baeldung.pattern.hexagonal.repository.WeatherRepository;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.junit.jupiter.api.extension.ExtendWith;
|
||||||
|
import org.junit.platform.runner.JUnitPlatform;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
import org.mockito.InjectMocks;
|
||||||
|
import org.mockito.Mock;
|
||||||
|
import org.mockito.junit.jupiter.MockitoExtension;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
|
@ExtendWith(MockitoExtension.class)
|
||||||
|
@RunWith(JUnitPlatform.class)
|
||||||
|
class WeatherForecasterServiceUnitTest {
|
||||||
|
|
||||||
|
@Mock
|
||||||
|
private WeatherRepository repository;
|
||||||
|
@InjectMocks
|
||||||
|
private WeatherForecasterService tested;
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void givenLocation10_whenForecast_thenExpect10() {
|
||||||
|
when(repository.getTemperature("location")).thenReturn(10d);
|
||||||
|
|
||||||
|
double result = tested.forecast("location");
|
||||||
|
assertEquals(10d, result);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void givenNullLocation_whenForecast_thenExpectEmptyString() {
|
||||||
|
when(repository.getTemperature("")).thenReturn(10d);
|
||||||
|
|
||||||
|
double result = tested.forecast(null);
|
||||||
|
assertEquals(10d, result);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue