@@ -802,3 +802,52 @@ test "ofc — CellHealth struct" {
802802 try std .testing .expectEqual (@as (u32 , 0 ), cell_h .cycle );
803803 try std .testing .expectEqual (@as (i64 , 12345 ), cell_h .last_check );
804804}
805+
806+ // ═══════════════════════════════════════════════════════════════════════════════
807+ // REAL function tests
808+ // ═══════════════════════════════════════════════════════════════════════════════
809+
810+ test "ofc — inferMood returns valid Mood" {
811+ const mood = inferMood (true , 75.0 , false );
812+ _ = mood ;
813+ }
814+
815+ test "ofc — inferMood broken build returns stressed" {
816+ const mood = inferMood (false , 50.0 , false );
817+ try std .testing .expectEqual (Mood .stressed , mood );
818+ }
819+
820+ test "ofc — inferMood high score returns excited" {
821+ const mood = inferMood (true , 85.0 , true );
822+ try std .testing .expectEqual (Mood .excited , mood );
823+ }
824+
825+ test "ofc — Mood emoji returns valid" {
826+ try std .testing .expectEqualStrings ("🟢" , Mood .healthy .emoji ());
827+ try std .testing .expectEqualStrings ("🟡" , Mood .caution .emoji ());
828+ try std .testing .expectEqualStrings ("🔴" , Mood .stressed .emoji ());
829+ }
830+
831+ test "ofc — Mood label returns valid" {
832+ try std .testing .expectEqualStrings ("healthy" , Mood .healthy .label ());
833+ try std .testing .expectEqualStrings ("caution" , Mood .caution .label ());
834+ try std .testing .expectEqualStrings ("stressed" , Mood .stressed .label ());
835+ }
836+
837+ test "ofc — ChatRoute chatId returns valid" {
838+ try std .testing .expectEqualStrings ("main" , .main .chatId ());
839+ try std .testing .expectEqualStrings ("alerts" , .alerts .chatId ());
840+ }
841+
842+ test "ofc — ChatRoute emoji returns valid" {
843+ try std .testing .expectEqualStrings ("📢" , .main .emoji ());
844+ try std .testing .expectEqualStrings ("🚨" , .alerts .emoji ());
845+ }
846+
847+ test "ofc — RewardPrediction meanAbsoluteError calculates" {
848+ var rp = RewardPrediction .init (50.0 );
849+ rp .updatePredictionModel (60.0 );
850+ rp .updatePredictionModel (40.0 );
851+ const mae = rp .meanAbsoluteError ();
852+ try std .testing .expect (mae > 0 );
853+ }
0 commit comments