Logic Tests For Programming