Skip to content

Commit b9fa00a

Browse files
committed
initial commit
0 parents  commit b9fa00a

File tree

120 files changed

+2836
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

120 files changed

+2836
-0
lines changed
2.85 KB
Binary file not shown.
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package example.model;
2+
3+
import lombok.*;
4+
5+
@Getter
6+
@Setter
7+
@NoArgsConstructor
8+
public class Car {
9+
double price;
10+
int year;
11+
String make, model;
12+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package example.repository;
2+
3+
import example.model.Car;
4+
import org.springframework.stereotype.Repository;
5+
6+
@Repository("carRepository")
7+
public interface CarRepository {
8+
9+
Car createCar(double price, int year, String model, String make);
10+
11+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package example.repository;
2+
3+
import org.springframework.stereotype.Repository;
4+
import example.model.Car;
5+
6+
@Repository
7+
public class CarRepositoryImpl implements CarRepository {
8+
@Override
9+
public Car createCar(double price, int year, String model, String make) {
10+
Car o = new Car();
11+
o.setPrice(price);
12+
o.setYear(year);
13+
o.setModel(model);
14+
o.setMake(make);
15+
return o;
16+
}
17+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package example.service;
2+
3+
import example.model.Car;
4+
import java.util.List;
5+
6+
import org.springframework.stereotype.Service;
7+
8+
@Service
9+
public interface CarService {
10+
Car createCar();
11+
12+
Car createRandomCar();
13+
14+
List<Car> addCar();
15+
16+
List<Car> deleteCar();
17+
18+
List<Car> findAll();
19+
20+
}
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
package example.service;
2+
3+
import example.model.Car;
4+
import example.repository.*;
5+
6+
import org.springframework.stereotype.Service;
7+
import java.util.*;
8+
9+
@Service
10+
public class CarServiceImpl implements CarService {
11+
12+
CarRepository carRepository;
13+
14+
public CarServiceImpl(){
15+
carRepository = new CarRepositoryImpl();
16+
}
17+
18+
Car createOneCar(){
19+
return carRepository.createCar(0, 0, "test", "test");
20+
}
21+
22+
List<Car> createList(){
23+
return new ArrayList<Car>(){
24+
{
25+
add(carRepository.createCar(0, 0, "0", "0"));
26+
add(carRepository.createCar(1, 1, "1", "1"));
27+
add(carRepository.createCar(2, 2, "2", "2"));
28+
}
29+
};
30+
}
31+
32+
@Override
33+
public Car createCar(){
34+
return createOneCar();
35+
}
36+
37+
@Override
38+
public Car createRandomCar(){
39+
List<Car> lst = createList();
40+
int x = 0;
41+
int y = lst.size() - 1;
42+
Random r = new Random();
43+
int number = x+((int)(r.nextDouble()*(y-x)));
44+
return lst.get(number);
45+
}
46+
47+
@Override
48+
public List<Car> addCar(){
49+
List<Car> lst = createList();
50+
lst.add(createOneCar());
51+
return lst;
52+
}
53+
54+
@Override
55+
public List<Car> deleteCar() {
56+
List<Car> lst = createList();
57+
lst.remove(0);
58+
return lst;
59+
}
60+
61+
@Override
62+
public List<Car> findAll(){ return createList(); }
63+
64+
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
import io.cucumber.java.en.Then;
2+
import io.cucumber.java.en.When;
3+
4+
import org.junit.jupiter.api.Assertions;
5+
import org.mockito.junit.jupiter.MockitoExtension;
6+
import org.junit.jupiter.api.extension.ExtendWith;
7+
import org.mockito.InjectMocks;
8+
9+
@ExtendWith(MockitoExtension.class)
10+
public class CarAttributeTest {
11+
12+
@InjectMocks
13+
example.service.CarService service = new example.service.CarServiceImpl();
14+
15+
example.model.Car car;
16+
17+
@When("Car created")
18+
public void createCar() {
19+
car = service.createCar();
20+
}
21+
22+
@Then("Car price should be 0.0")
23+
public void checkPrice() {
24+
Assertions.assertEquals(car.getPrice(), 0.0);
25+
}
26+
27+
@Then("Car model should be test")
28+
public void checkModel() {
29+
Assertions.assertEquals(car.getModel(), "test");
30+
}
31+
32+
@Then("Car year should be 0")
33+
public void checkYear() {
34+
Assertions.assertEquals(car.getYear(), 0);
35+
}
36+
37+
@Then("Car make should be test")
38+
public void checkMake() {
39+
Assertions.assertEquals(car.getMake(), "test");
40+
}
41+
42+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
import io.cucumber.junit.platform.engine.Cucumber;
2+
3+
@Cucumber
4+
public class RunCucumberTest {}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
Feature: Car
2+
3+
Scenario: Get car price
4+
When Car created
5+
Then Car price should be 0.0
6+
Then Car year should be 0
7+
Then Car model should be test
8+
Then Car make should be test
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
cucumber.publish.enabled=true
2+
cucumber.publish.quiet=true

0 commit comments

Comments
 (0)