derive Eq. rename test main.