design: add test change_detection