avoid implicit signedness conversion
use macro in tests for less redundancy
deprecation warning at a test for old structure syntax