I give myself a 3 on functionality, because both of my encrypt and decrypt methods are implemented correctly, as well as my command line interfaces.
I give myself a 3.75 on OOP because I have a module that is used properly, all methods are under 8 lines of code and no lines are longer than 80 chars, and my variable and method names always communicate clear purpose. The reason I give myself a 3.75 and not a 4 is because I do not use a class method.
I give myself a 3.5 on TDD because I have clear, concise tests that are covered at 100% but do not use mocks or stubs.
I give myself a 4 on version control because I have over 100 commits, and close to 25 pull requests that are all clearly named and exhibit clear and concise chunks of functionality.