diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000..81235cf --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,40 @@ +name: CI + +# Controls when the action will run. Triggers the workflow on push or pull request +# events but only for the master branch +on: + pull_request: + branches: [master] + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + build: + strategy: + matrix: + python-version: [3.8.6] + runs-on: ubuntu-latest + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: Switch to Current Branch + run: git checkout ${{ env.BRANCH }} + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v1 + with: + python-version: ${{ matrix.python-version }} + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + cd key_generator/source + pip install -r requirements-dev.txt + pip install -e . + + - name: Run unit tests + run: python -m pytest --import-mode=append tests/ diff --git a/tests/engine_test.py b/tests/prev_engine_test.py similarity index 99% rename from tests/engine_test.py rename to tests/prev_engine_test.py index d2acf79..e641acd 100644 --- a/tests/engine_test.py +++ b/tests/prev_engine_test.py @@ -1,6 +1,7 @@ import sys sys.path.append("../python") +sys.path.append("python") import engine.engine as engine import importlib diff --git a/tests/unit_test/engine_test.py b/tests/unit_test/engine_test.py new file mode 100644 index 0000000..4ad5803 --- /dev/null +++ b/tests/unit_test/engine_test.py @@ -0,0 +1,17 @@ +import sys + +sys.path.append("../../python") +sys.path.append("python") + +import engine.engine as engine + +def test_blocked_moves(): + """ + Test that a blocked move does not happen. + """ + print("ok") + game = engine.Game(automatic_draw=False) + game.move_from_coordinates(game.player1, 1, 4, 3, 4) + _, winner = game.move_from_coordinates(game.player2, 7, 0, 5, 0) + print("win", winner) + assert winner == 0