#include #include #include #include #include "senseless.h" double assert(const char *directions, double expected) { size_t len = strlen(directions); double degrees = senseless_directions(directions, len); if (fabs(degrees - expected) <= DBL_EPSILON) { printf("✅ "); } else { printf("❌ "); } printf("%s = %.2f\n", directions, expected); return degrees; } int main(int argc, char **argv) { // Cardinal printf("== Cardinal ==\n"); assert("N", 0.0); assert("E", 90.0); assert("S", 180.0); assert("W", 270.0); // Ordinal printf("\n=== Ordinal ==\n"); assert("NE", 45.0); assert("SE", 135.0); assert("SW", 225.0); assert("NW", 315.0); // Gross printf("\n==== Gross ===\n"); printf("(pulls clockwise)\n"); assert("NS", 45.0); assert("SN", 225.0); assert("EW", 135.0); assert("WE", 315.0); // Exciting printf("\n== Exciting ==\n"); assert("NNW", 337.5); assert("SEESE", 118.125); assert("NESW", 56.25); }