programlibs/Check/demos/grading.xtl

Grading a function with Check: a student's median, tested against cases with known answers. Run with "just demo Check grading".

source · imports k: libs/Check/src/Check.xtl libs/Check/src/Check.xtlm

ᵘm̲edian : Ord a => a -> a

function · line 8
ᵘm̲edian ← { v → s ← s̲ort v◆ f̲irst (1 + (t̲ally v) d̲iv 2) s̲elect s }
Used in: a, b, c, d

a : Char

value · line 12
a ← "odd count" ᵏt̲est 3 ᵏn̲ear ᵘm̲edian 5 3 1

b : Char

value · line 13
b ← "unsorted" ᵏt̲est 4 ᵏn̲ear ᵘm̲edian 9 4 1 7 2

c : Char

value · line 14
c ← "one item" ᵏt̲est 7 ᵏn̲ear ᵘm̲edian 7

d : Char

value · line 15
d ← "even count" ᵏt̲est 2.5 ᵏn̲ear ᵘm̲edian 1 2 3 4           ⍝ shows failures