30 lines
1.4 KiB
C++
30 lines
1.4 KiB
C++
// Fast unit checks for the misc modules. The behavioral proof against tai.py is tests/misc_diff.py.
|
|
#include <cassert>
|
|
#include <cstdio>
|
|
#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;
|
|
}
|