Xkonti / govec

Go library providing 2D and 3D vector operations
MIT License
6 stars 7 forks source link

Increase testing coverage #34

Open Xkonti opened 1 year ago

Xkonti commented 1 year ago

Please feel free to pick any of the not-implemented operation and add tests - even if not coplete.

Problem

All operations should be covered by tests to enforce that the library is correct at all times.

The challenge in thoroughly testing the library lays in the sheer amount of possible variants of each operation:

An operation like Add could be considered to have a high number of variants:

That produces 16+40=56 variants of Add to run multiple tests on!

Current status

Checkmark Name of the function Status
✖️ Abs Partial ( #37 )
✖️ Add Only basic for V2F and V2I implemented
✖️ AddScalar NONE
✖️ AngleBetweenDeg NONE
✖️ AngleBetweenRad NONE
✖️ Apply NONE
✖️ Array NONE
✖️ Ceil NONE
✖️ ClampComp NONE
✖️ ClampLen NONE
✖️ Cross NONE
✖️ Discard NONE
✖️ Distance NONE
✖️ Div NONE
✖️ DivScalar NONE
✖️ Dot NONE
✖️ Extend NONE
✖️ Floor NONE
✖️ Insert NONE
✖️ Inv NONE
✖️ IsZero NONE
✖️ Len NONE
✖️ LenSqrt NONE
✖️ Math NONE
✔️ Max Implemented
✔️ Min Implemented
✖️ Mod NONE
✖️ ModScalar NONE
✖️ Mul NONE
✖️ MulScalar NONE
✖️ Neg NONE
✖️ New NONE
✖️ Norm NONE
✖️ Pow NONE
✖️ Pow2 NONE
✖️ Pow3 NONE
✖️ PowN NONE
✖️ PowNFloat NONE
✖️ Round NONE
✖️ Slice NONE
✖️ Split NONE
✖️ Sqrt NONE
✖️ Sub NONE
✖️ SubScalar NONE
✖️ Swizzle NONE