Switched to floating point checks with tolerance, added geometry function tests