adding new test file
updating tests to full coverage
updating hasAttribute to show code coverage better. changed callable to reassign value from the return of the callable.