utopia-rise / godot-kotlin-jvm

Godot Kotlin JVM Module
MIT License
576 stars 39 forks source link

Add unit tests and fixes for core types. #522

Closed CedNaru closed 10 months ago

CedNaru commented 10 months ago

Unit tests are straight conversions from the C++ ones to Kotlin. I only made changes when it was necessary for syntax reasons and removed tests checking methods not part of the user API.

Also took the opportunity to move a few files in the core package, so it's less bloated.

There is now a "math" directory for all the reimplemented core types and a "bridge" for the native ones (replicating the way it's done in C++).

The unit tests revealed a lot of issues in the math core types, so I fixed everything I could find, mostly converting the updated C++ code to Kotlin. The issues were a mix of errors from when we did with the initial implementation, as well as mathematical mistakes in the original Godot source code, fixed since Godot 4.