run :: () -> bool { /** Test: HSL routines */ hsl_string := "154 87 53"; hsl, ok := string_to_hsl(hsl_string); ass(ok); rgb_hex := hsl_to_rgb_hex(hsl_string); ass(rgb_hex, "#1FEF95"); rgb := hsl_to_rgb(hsl); ass(rgb, RGB.{ 31, 239, 149 }); h, s, l := hsl_to_integers(hsl); hsl = integers_to_hsl(h, s, l); ass(hsl, HSL.{ 154, 87, 53 }); /** Test: RGB routines */ rgb_string := "#C0FFEE"; rgb, ok = string_to_rgb(rgb_string); ass(ok); hsl = rgb_to_hsl(rgb); ass(hsl, HSL.{ 164, 100, 88 }); r, g, b := rgb_to_integers(rgb); rgb = integers_to_rgb(r, g, b); ass(rgb, RGB.{ 192, 255, 238 }); return true; } #scope_file ass :: (a: RGB, b: RGB, loc := #caller_location) -> bool #expand { ok := true; ok &= a.r == b.r; ok &= a.g == b.g; ok &= a.b == b.b; if !ok then #insert,scope() ASS_CODE; } ass :: (a: HSL, b: HSL, loc := #caller_location) -> bool #expand { ok := true; ok &= a.h == b.h; ok &= a.s == b.s; ok &= a.l == b.l; if !ok then #insert,scope() ASS_CODE; } #import "Basic"; #import "Print_Vars"; #import,file "../0x2_Colored.jai"; #load "assertion.jai";