|
1
|
|
package org.hplr.game.core.usecases.service; |
|
2
|
|
|
|
3
|
|
import lombok.RequiredArgsConstructor; |
|
4
|
|
|
|
5
|
|
import org.hplr.game.core.model.Game; |
|
6
|
|
import org.hplr.game.core.usecases.port.dto.SaveScoreForGameSideDto; |
|
7
|
|
import org.hplr.game.core.usecases.port.in.SaveScoreForGameSideUseCaseInterface; |
|
8
|
|
import org.hplr.game.core.usecases.port.out.command.SaveScoreCommandInterface; |
|
9
|
|
import org.hplr.game.core.usecases.port.out.query.SelectGameByGameIdQueryInterface; |
|
10
|
|
|
|
11
|
|
import org.hplr.elo.core.model.vo.Score; |
|
12
|
|
|
|
13
|
|
import org.hplr.library.exception.HPLRIllegalArgumentException; |
|
14
|
|
|
|
15
|
|
import org.springframework.stereotype.Service; |
|
16
|
|
|
|
17
|
|
import java.util.UUID; |
|
18
|
|
|
|
19
|
|
@Service |
|
20
|
|
@RequiredArgsConstructor |
|
21
|
|
public class SaveScoreForGameSideUseCaseService implements SaveScoreForGameSideUseCaseInterface { |
|
22
|
|
|
|
23
|
|
final SelectGameByGameIdQueryInterface selectGameByGameIdQueryInterface; |
|
24
|
|
final SaveScoreCommandInterface saveScoreCommandInterface; |
|
25
|
|
|
|
26
|
|
@Override |
|
27
|
|
public UUID saveScoreForGameSide(SaveScoreForGameSideDto saveScoreForGameSideDto) { |
|
28
|
1
1. lambda$saveScoreForGameSide$0 : replaced return value with null for org/hplr/game/core/usecases/service/SaveScoreForGameSideUseCaseService::lambda$saveScoreForGameSide$0 → KILLED
|
Game game = selectGameByGameIdQueryInterface.selectGameByGameId(saveScoreForGameSideDto.gameId()).map(Game::fromDto).orElseThrow(()-> new HPLRIllegalArgumentException("Game not found")); |
|
29
|
1
1. saveScoreForGameSide : negated conditional → KILLED
|
if(saveScoreForGameSideDto.gameSideId().equals(game.getFirstGameSide().getSideId().sideId())){ |
|
30
|
3
1. lambda$saveScoreForGameSide$2 : replaced return value with null for org/hplr/game/core/usecases/service/SaveScoreForGameSideUseCaseService::lambda$saveScoreForGameSide$2 → KILLED
2. lambda$saveScoreForGameSide$1 : replaced boolean return with false for org/hplr/game/core/usecases/service/SaveScoreForGameSideUseCaseService::lambda$saveScoreForGameSide$1 → KILLED
3. lambda$saveScoreForGameSide$1 : replaced boolean return with true for org/hplr/game/core/usecases/service/SaveScoreForGameSideUseCaseService::lambda$saveScoreForGameSide$1 → KILLED
|
Score score = game.getFirstGameSide().getScorePerTurnList().stream().filter(scoreLambda -> saveScoreForGameSideDto.turnNumber().equals(scoreLambda.turnNumber())).findFirst().orElseThrow(() -> new HPLRIllegalArgumentException("Turn not found")); |
|
31
|
|
game.getFirstGameSide().getScorePerTurnList().remove(score); |
|
32
|
|
score = new Score(saveScoreForGameSideDto.turnNumber(),saveScoreForGameSideDto.score(), saveScoreForGameSideDto.table()); |
|
33
|
|
game.getFirstGameSide().getScorePerTurnList().add(score); |
|
34
|
1
1. saveScoreForGameSide : removed call to org/hplr/game/core/usecases/port/out/command/SaveScoreCommandInterface::saveScore → KILLED
|
saveScoreCommandInterface.saveScore(game.toSnapshot(), score,true); |
|
35
|
|
|
|
36
|
|
|
|
37
|
|
|
|
38
|
|
} |
|
39
|
1
1. saveScoreForGameSide : negated conditional → KILLED
|
else if(saveScoreForGameSideDto.gameSideId().equals(game.getSecondGameSide().getSideId().sideId())){ |
|
40
|
3
1. lambda$saveScoreForGameSide$3 : replaced boolean return with true for org/hplr/game/core/usecases/service/SaveScoreForGameSideUseCaseService::lambda$saveScoreForGameSide$3 → KILLED
2. lambda$saveScoreForGameSide$4 : replaced return value with null for org/hplr/game/core/usecases/service/SaveScoreForGameSideUseCaseService::lambda$saveScoreForGameSide$4 → KILLED
3. lambda$saveScoreForGameSide$3 : replaced boolean return with false for org/hplr/game/core/usecases/service/SaveScoreForGameSideUseCaseService::lambda$saveScoreForGameSide$3 → KILLED
|
Score score = game.getSecondGameSide().getScorePerTurnList().stream().filter(scoreLambda -> saveScoreForGameSideDto.turnNumber().equals(scoreLambda.turnNumber())).findFirst().orElseThrow(() -> new HPLRIllegalArgumentException("Turn not found")); |
|
41
|
|
game.getSecondGameSide().getScorePerTurnList().remove(score); |
|
42
|
|
score = new Score(saveScoreForGameSideDto.turnNumber(),saveScoreForGameSideDto.score(), saveScoreForGameSideDto.table()); |
|
43
|
|
game.getSecondGameSide().getScorePerTurnList().add(score); |
|
44
|
1
1. saveScoreForGameSide : removed call to org/hplr/game/core/usecases/port/out/command/SaveScoreCommandInterface::saveScore → KILLED
|
saveScoreCommandInterface.saveScore(game.toSnapshot(), score,false); |
|
45
|
|
} |
|
46
|
1
1. saveScoreForGameSide : replaced return value with null for org/hplr/game/core/usecases/service/SaveScoreForGameSideUseCaseService::saveScoreForGameSide → KILLED
|
return game.getGameId().gameId(); |
|
47
|
|
} |
|
48
|
|
} |
| | Mutations |
| 28 |
|
1.1 Location : lambda$saveScoreForGameSide$0 Killed by : org.hplr.game.core.usecases.service.SaveScoreForGameSideUseCaseServiceTests.[engine:junit-jupiter]/[class:org.hplr.game.core.usecases.service.SaveScoreForGameSideUseCaseServiceTests]/[method:try_to_save_score_find_no_game_and_throw_HPLRIllegalArgumentException()] replaced return value with null for org/hplr/game/core/usecases/service/SaveScoreForGameSideUseCaseService::lambda$saveScoreForGameSide$0 → KILLED
|
| 29 |
|
1.1 Location : saveScoreForGameSide Killed by : org.hplr.game.core.usecases.service.SaveScoreForGameSideUseCaseServiceTests.[engine:junit-jupiter]/[class:org.hplr.game.core.usecases.service.SaveScoreForGameSideUseCaseServiceTests]/[method:try_to_save_score_find_game_and_save_for_first_side_with_wrong_turn_and_throw_HPLRIllegalArgumentException()] negated conditional → KILLED
|
| 30 |
|
1.1 Location : lambda$saveScoreForGameSide$2 Killed by : org.hplr.game.core.usecases.service.SaveScoreForGameSideUseCaseServiceTests.[engine:junit-jupiter]/[class:org.hplr.game.core.usecases.service.SaveScoreForGameSideUseCaseServiceTests]/[method:try_to_save_score_find_game_and_save_for_first_side_with_wrong_turn_and_throw_HPLRIllegalArgumentException()] replaced return value with null for org/hplr/game/core/usecases/service/SaveScoreForGameSideUseCaseService::lambda$saveScoreForGameSide$2 → KILLED 2.2 Location : lambda$saveScoreForGameSide$1 Killed by : org.hplr.game.core.usecases.service.SaveScoreForGameSideUseCaseServiceTests.[engine:junit-jupiter]/[class:org.hplr.game.core.usecases.service.SaveScoreForGameSideUseCaseServiceTests]/[method:try_to_save_score_find_game_and_save_for_first_side_and_succeed()] replaced boolean return with false for org/hplr/game/core/usecases/service/SaveScoreForGameSideUseCaseService::lambda$saveScoreForGameSide$1 → KILLED 3.3 Location : lambda$saveScoreForGameSide$1 Killed by : org.hplr.game.core.usecases.service.SaveScoreForGameSideUseCaseServiceTests.[engine:junit-jupiter]/[class:org.hplr.game.core.usecases.service.SaveScoreForGameSideUseCaseServiceTests]/[method:try_to_save_score_find_game_and_save_for_first_side_with_wrong_turn_and_throw_HPLRIllegalArgumentException()] replaced boolean return with true for org/hplr/game/core/usecases/service/SaveScoreForGameSideUseCaseService::lambda$saveScoreForGameSide$1 → KILLED
|
| 34 |
|
1.1 Location : saveScoreForGameSide Killed by : org.hplr.game.core.usecases.service.SaveScoreForGameSideUseCaseServiceTests.[engine:junit-jupiter]/[class:org.hplr.game.core.usecases.service.SaveScoreForGameSideUseCaseServiceTests]/[method:try_to_save_score_find_game_and_save_for_first_side_and_succeed()] removed call to org/hplr/game/core/usecases/port/out/command/SaveScoreCommandInterface::saveScore → KILLED
|
| 39 |
|
1.1 Location : saveScoreForGameSide Killed by : org.hplr.game.core.usecases.service.SaveScoreForGameSideUseCaseServiceTests.[engine:junit-jupiter]/[class:org.hplr.game.core.usecases.service.SaveScoreForGameSideUseCaseServiceTests]/[method:try_to_save_score_find_game_and_save_for_second_side_with_wrong_turn_and_throw_HPLRIllegalArgumentException()] negated conditional → KILLED
|
| 40 |
|
1.1 Location : lambda$saveScoreForGameSide$3 Killed by : org.hplr.game.core.usecases.service.SaveScoreForGameSideUseCaseServiceTests.[engine:junit-jupiter]/[class:org.hplr.game.core.usecases.service.SaveScoreForGameSideUseCaseServiceTests]/[method:try_to_save_score_find_game_and_save_for_second_side_with_wrong_turn_and_throw_HPLRIllegalArgumentException()] replaced boolean return with true for org/hplr/game/core/usecases/service/SaveScoreForGameSideUseCaseService::lambda$saveScoreForGameSide$3 → KILLED 2.2 Location : lambda$saveScoreForGameSide$4 Killed by : org.hplr.game.core.usecases.service.SaveScoreForGameSideUseCaseServiceTests.[engine:junit-jupiter]/[class:org.hplr.game.core.usecases.service.SaveScoreForGameSideUseCaseServiceTests]/[method:try_to_save_score_find_game_and_save_for_second_side_with_wrong_turn_and_throw_HPLRIllegalArgumentException()] replaced return value with null for org/hplr/game/core/usecases/service/SaveScoreForGameSideUseCaseService::lambda$saveScoreForGameSide$4 → KILLED 3.3 Location : lambda$saveScoreForGameSide$3 Killed by : org.hplr.game.core.usecases.service.SaveScoreForGameSideUseCaseServiceTests.[engine:junit-jupiter]/[class:org.hplr.game.core.usecases.service.SaveScoreForGameSideUseCaseServiceTests]/[method:try_to_save_score_find_game_and_save_for_second_side_and_succeed()] replaced boolean return with false for org/hplr/game/core/usecases/service/SaveScoreForGameSideUseCaseService::lambda$saveScoreForGameSide$3 → KILLED
|
| 44 |
|
1.1 Location : saveScoreForGameSide Killed by : org.hplr.game.core.usecases.service.SaveScoreForGameSideUseCaseServiceTests.[engine:junit-jupiter]/[class:org.hplr.game.core.usecases.service.SaveScoreForGameSideUseCaseServiceTests]/[method:try_to_save_score_find_game_and_save_for_second_side_and_succeed()] removed call to org/hplr/game/core/usecases/port/out/command/SaveScoreCommandInterface::saveScore → KILLED
|
| 46 |
|
1.1 Location : saveScoreForGameSide Killed by : org.hplr.game.core.usecases.service.SaveScoreForGameSideUseCaseServiceTests.[engine:junit-jupiter]/[class:org.hplr.game.core.usecases.service.SaveScoreForGameSideUseCaseServiceTests]/[method:try_to_save_score_find_game_and_save_for_first_side_and_succeed()] replaced return value with null for org/hplr/game/core/usecases/service/SaveScoreForGameSideUseCaseService::saveScoreForGameSide → KILLED
|