NEW: Triangle class with tests