diff --git a/.github/workflows b/.github/workflows new file mode 100644 index 0000000..82a7102 --- /dev/null +++ b/.github/workflows @@ -0,0 +1,31 @@ +name: Code Quality Workflow + +on: + pull_request: + branches: [ main ] + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: '3.9' + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt + continue-on-error:true + - name: Run code linters + run: | + flake8 --ignore=E501 . + pylint --fail-under=8 . + continue-on-error:true + - name: Run tests + run: pytest tests/ diff --git a/README.rst b/README.rst index 8ec204a..934ebb6 100644 --- a/README.rst +++ b/README.rst @@ -1,13 +1,13 @@ |ScreenShot| pyGameMath |Build Status| |Code Health| |Codacy Badge| -====================================================== +==================================================== -| This is a math library written in python for 2D/3D game development +| This is a math library written in python for 2D/3D game development c klfkjfjk which is also compatible with pypy. I made it while I was learning more about the math used in graphics development and for personal use in OpenGL related projects. -| It’s still a work in progress. +| It’s still a work in progress. Test cases edit. Dependencies: ------------- @@ -137,4 +137,4 @@ Legendre Polynomial (Experimental, not complete): .. |Code Health| image:: https://landscape.io/github/explosiveduck/pyGameMath/master/landscape.svg?style=flat :target: https://landscape.io/github/explosiveduck/pyGameMath/master .. |Codacy Badge| image:: https://api.codacy.com/project/badge/907e4230379f40a8bedcfc0a9a0ed43c - :target: https://www.codacy.com \ No newline at end of file + :target: https://www.codacy.com diff --git a/gem/vector.py b/gem/vector.py index cdfea44..c22c0cb 100644 --- a/gem/vector.py +++ b/gem/vector.py @@ -111,7 +111,7 @@ def magnitude(size, vecA): def normalize(size, vecA): length = magnitude(size, vecA) temp = zero_vector(size) - if length is not 0: + if length != 0: for i in sm.range(size): temp[i] = vecA[i] / length return temp diff --git a/test.py b/test.py new file mode 100644 index 0000000..c4cc58c --- /dev/null +++ b/test.py @@ -0,0 +1,57 @@ +import pytest +import math +from gem import matrix + + + + + + +def test_fun(): + b=[[0.0, 0.0, 0.0, 0.0, 0.0], + [0.0, 0.0, 0.0, 0.0, 0.0], + [0.0, 0.0, 0.0, 0.0, 0.0], + [0.0, 0.0, 0.0, 0.0, 0.0], + [0.0, 0.0, 0.0, 0.0, 0.0]] + assert matrix.zero_matrix(5)==b +def test_fun1(): + a=[[0.0, 0.0, 0.0], + [0.0, 0.0, 0.0], + [0.0, 0.0, 0.0]] + assert matrix.zero_matrix(3)==a +def test_fun2(): + a=[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], + [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], + [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], + [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], + [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], + [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], + [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]] + assert matrix.zero_matrix(7)==a + + + + +def test_fun3(): + b=[[1.0, 0.0, 0.0, 0.0, 0.0], + [0.0, 1.0, 0.0, 0.0, 0.0], + [0.0, 0.0, 1.0, 0.0, 0.0], + [0.0, 0.0, 0.0, 1.0, 0.0], + [0.0, 0.0, 0.0, 0.0, 1.0]] + assert matrix.identity(5)==b +def test_fun4(): + b=[[1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 1.0]] + assert matrix.identity(3)==b +def test_fun5(): + b=[[1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], + [0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], + [0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], + [0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], + [0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], + [0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], + [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0]] + assert matrix.identity(7)==b + + + +