imperative paradigm testing