Interfaces, Abstract Classes, and Test Cases fully Functional