Please make sure you read this document in its entirety.
Please write code delivering the requirements that follow. Write code that you would be happy delivering to a paying client, keeping in mind the simplicity comments below.
You should not find this test to be particularly difficult. It is designed to be a straightforward coding exercise and it should take you no more than 90 minutes. One thing we’re interested in is to see which compromises you make to stay in this sort of timeframe. It’s more important that we can see how the development would continue than for every feature to be present.
Test Coverage: The solution should be developed “test-first”, and should have excellent unit tests and test coverage.
Simplicity: We value simplicity as an architectural virtue and a development practice. Solutions should reflect the difficulty of the assigned task, and should not be overly complex. Layers of abstraction, patterns, or architectural features that aren’t called for should not be included.
Self-explanatory code: The solution you produce must speak for itself. Multiple paragraphs explaining the solution are a sign that it isn’t straightforward enough to understand purely by reading code, and are not appropriate.
Include a readme: Please include a readme file in the root of the project which states any requirements and commands needed to run the code. Assume the reviewer is unfamiliar with your choice of framework and/or build tools and maybe using a different IDE.
This version number: As mentioned above, please include the version number 5b8d0fd276b6d288905ed2f63a934e057e8feca2
in a README file with your submission so we know what version of the instructions you’ve been given.
We’d like you to write a basic calculator with Equal Experts branding. You can use whichever approach you prefer, with or without frameworks.
The calculator should be attractive and while we’re not expecting all features to be implemented any that are should match what you’d expect from a simple pocket calculator.