Skip to content
73 changes: 73 additions & 0 deletions .github/workflows/gradle.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
# This workflow will build a Java project with Gradle and cache/restore any dependencies to improve the workflow execution time
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-gradle

name: Java CI with Gradle

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]

jobs:
build:

runs-on: ubuntu-latest
permissions:
contents: read
checks: write
actions: read

steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '19'
distribution: 'coretto'

# Configure Gradle for optimal use in GiHub Actions, including caching of downloaded dependencies.
# See: https://github.com/gradle/actions/blob/main/setup-gradle/README.md
- name: Setup Gradle
uses: gradle/actions/setup-gradle@417ae3ccd767c252f5661f1ace9f835f9654f2b5 # v3.1.0

- name: Build with Gradle Wrapper
run: ./gradlew build
- name: Test with Gradle Wrapper
run: ./gradlew test



# NOTE: The Gradle Wrapper is the default and recommended way to run Gradle (https://docs.gradle.org/current/userguide/gradle_wrapper.html).
# If your project does not have the Gradle Wrapper configured, you can use the following configuration to run Gradle with a specified version.
#
# - name: Setup Gradle
# uses: gradle/actions/setup-gradle@417ae3ccd767c252f5661f1ace9f835f9654f2b5 # v3.1.0
# with:
# gradle-version: '8.5'
#
# - name: Build with Gradle 8.5
# run: gradle build

dependency-submission:

runs-on: ubuntu-latest
permissions:
contents: write

steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'

# Generates and submits a dependency graph, enabling Dependabot Alerts for all project dependencies.
# See: https://github.com/gradle/actions/blob/main/dependency-submission/README.md
- name: Generate and submit dependency graph
uses: gradle/actions/dependency-submission@417ae3ccd767c252f5661f1ace9f835f9654f2b5 # v3.1.0
5 changes: 4 additions & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,15 @@ repositories {
}

javafx {
version = "11"
version = "19"
modules = ['javafx.controls']
}

test {
useJUnitPlatform()
reports{
outputs.dir("$buildDir/test-results/test")
}
}

dependencies {
Expand Down
111 changes: 111 additions & 0 deletions src/test/java/com/montaury/pokebagarre/metier/PokemonTests.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
package com.montaury.pokebagarre.metier;

import com.montaury.pokebagarre.fixtures.ConstructeurDePokemon;
import org.junit.jupiter.api.Test;

import static org.junit.jupiter.api.Assertions.*;
import static org.assertj.core.api.Assertions.*;

class PokemonTests {

@Test
void victoire_du_pokemon1_si_attaque_plus_elevee()
{
//GIVEN
Pokemon poke1 = ConstructeurDePokemon.unPokemon().avecAttaque(12).construire();

Pokemon poke2 = ConstructeurDePokemon.unPokemon().avecAttaque(11).construire();

//WHEN
boolean result = poke1.estVainqueurContre(poke2);
//THEN
assert result = true : "C'est cool";
}

@Test
void victoire_du_pokemon1_si_attaque_plus_elevee_ASSERTJ()
{
//GIVEN
assertThat(ConstructeurDePokemon.unPokemon().avecAttaque(12).construire().estVainqueurContre(ConstructeurDePokemon.unPokemon().avecAttaque(11).construire()));
}

@Test
void victoire_du_pokemon2_si_attaque_plus_elevee()
{
//GIVEN
Pokemon poke1 = ConstructeurDePokemon.unPokemon().avecAttaque(11).construire();

Pokemon poke2 = ConstructeurDePokemon.unPokemon().avecAttaque(10).construire();

//WHEN
boolean result = poke2.estVainqueurContre(poke1);
//THEN
assert result = true : "C'est cool";
}

@Test
void victoire_du_pokemon2_si_attaque_plus_elevee_ASSERTJ()
{
//GIVEN
assertThat(ConstructeurDePokemon.unPokemon().avecAttaque(12).construire().estVainqueurContre(ConstructeurDePokemon.unPokemon().avecAttaque(11).construire()));
}

@Test
void victoire_du_pokemon1_si_defense_plus_elevee()
{
//GIVEN
Pokemon poke1 = ConstructeurDePokemon.unPokemon().avecDefense(12).construire();
Pokemon poke2 = ConstructeurDePokemon.unPokemon().avecDefense(11).construire();

//WHEN
boolean result = poke1.estVainqueurContre(poke2);
//THEN
assert result = true : "C'est cool";
}

@Test
void victoire_du_pokemon1_si_defense_plus_elevee_ASSERTJ()
{
assertThat(ConstructeurDePokemon.unPokemon().avecDefense(12).construire().estVainqueurContre(ConstructeurDePokemon.unPokemon().avecDefense(11).construire()));
}

@Test
void victoire_du_pokemon2_si_defense_plus_elevee()
{
//GIVEN
Pokemon poke1 = ConstructeurDePokemon.unPokemon().avecDefense(11).construire();
Pokemon poke2 = ConstructeurDePokemon.unPokemon().avecDefense(12).construire();

//WHEN
boolean result = poke2.estVainqueurContre(poke1);
//THEN
assert result = true : "C'est cool";
}

@Test
void victoire_du_pokemon2_si_defense_plus_elevee_ASSERTJ()
{
assertThat(ConstructeurDePokemon.unPokemon().avecDefense(12).construire().estVainqueurContre(ConstructeurDePokemon.unPokemon().avecDefense(11).construire()));
}

@Test
void victoire_du_pokemon1_si_egalite()
{
//GIVEN
Pokemon poke1 = ConstructeurDePokemon.unPokemon().avecDefense(10).construire();
Pokemon poke2 = ConstructeurDePokemon.unPokemon().avecDefense(10).construire();


//WHEN
boolean result = poke1.estVainqueurContre(poke2);
//THEN
assert result = true : "C'est cool";
}

@Test
void victoire_du_pokemon1_si_egalite_ASSERTJ()
{
//GIVEN
assertThat(ConstructeurDePokemon.unPokemon().avecAttaque(12).construire().estVainqueurContre(ConstructeurDePokemon.unPokemon().avecAttaque(12).construire()));
}
}