// Fast unit checks for the misc modules. The behavioral proof against tai.py is tests/misc_diff.py. #include #include #include "bundled.h" #include "bundled_data.h" #include "chunker.h" #include "miscdatetime.h" #include "miscjson.h" #include "miscpy.h" #include "miscsha256.h" #include "schedtime.h" #include "skillfile.h" using namespace detz; int main() { assert(misc::Sha256::hex("abc") == "ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad"); assert(misc::Sha256::hex("") == "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"); assert(misc::Json::loads("{\"a\": [1, 2.5, \"\\u00e9\"]}").dumps() == "{\"a\": [1, 2.5, \"\\u00e9\"]}"); assert(misc::Json::float_repr(1e16) == "1e+16" && misc::Json::float_repr(0.0001) == "0.0001" && misc::Json::float_repr(1e-5) == "1e-05"); assert(misc::DateTime::fromisoformat("2026-10-08T09:00Z").isoformat() == "2026-10-08T09:00:00+00:00"); assert(sched::ScheduleTime::format_delay(3600) == "1h" && sched::ScheduleTime::format_delay(-1) == "overdue"); assert(*sched::ScheduleTime::parse_duration("2h") == 7200); assert(rag::Chunker::chunk_lines("a\nb\nc", 2, 0, 100).size() == 2); assert(skills::BundledData::files().size() == 6); assert(skills::SkillFiles::skill_name_valid("deep-research") && !skills::SkillFiles::skill_name_valid("Bad")); assert(skills::BundledSkills::names().size() == 6); std::puts("misc_test ok"); return 0; }