// Мини-раннер юнит-тестов ядра. Штатный (:test)-harness (Toybox.Test + // monkeydo /t) не стартует в связке «симулятор 4.2.2 + девайс-пак из // docker-образа» — Unexpected Type Error на старте ЛЮБОГО тестового prg // (проверено на минимальном проекте из 15 строк), поэтому тесты гоняет // собственный раннер: те же проверки (спека 02), вывод println → консоль // симулятора (monkeydo). Файлы в test-source/ — в release-сборку поля // (monkey.jungle → source/) не попадают. import Toybox.Lang; import Toybox.System; class CoreChecks { var failed; var passed; function initialize() { failed = 0; passed = 0; } function eq(a, b, msg) { // «==» для строк — сравнение по ссылке: литерал и собранная // строка не равны, строки сверяем через equals var okEq = a == b; if (!okEq && a instanceof Lang.String && b instanceof Lang.String) { okEq = a.equals(b); } if (okEq) { passed += 1; } else { failed += 1; System.println("FAIL: " + msg); } } // Отдельно для null: eq печатал бы значения (concat с null небезопасен) function isNull(v, msg) { if (v == null) { passed += 1; } else { failed += 1; System.println("FAIL: " + msg); } } function summary() { System.println("RESULT: passed=" + passed + " failed=" + failed); return failed; } }