diff --git a/README.rst b/README.rst index 8ec204a..39f3beb 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 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 + + + + diff --git a/test_noman.py b/test_noman.py new file mode 100644 index 0000000..100a9f0 --- /dev/null +++ b/test_noman.py @@ -0,0 +1,48 @@ +import pytest +from gem import matrix + + + + +def test_function(): + 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]] + a=matrix.identity(5) + + assert matrix.transpose(a)==b +def test_function1(): + b=[[1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 1.0]] + a=matrix.identity(3) + + assert matrix.transpose(a)==b +def test_function2(): + 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]] + a=matrix.identity(7) + + assert matrix.transpose(a)==b + + + + + +def test_function3(): + + a=matrix.identity(3) + + assert matrix.inverse3(a)==a +def test_function5(): + + a=matrix.identity(4) + + assert matrix.inverse4(a)==a + + \ No newline at end of file