add test for required subjects
refactor year restriction test