I’ll separate test cases to families and will go from most popular to least popular (and I won’t include those that you covered)
1. Edge cases
1A. How do deal with limit of digits on the screen?
99999999999 + 1 should be equal to 100000000000
10000000000 - 0.125 should be equal to 9999999999.875
1B. Do you allow unlimited chain of operations? If yes, how are you going to represent it in history?
1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 4 should be equal 4
2A. User expect sign
% to calculate percentage and not modulo
45% should be equal to 0.45
2B. User must be able to start floating point number with
45 + .45 should be equal 45.45
2C. User expects CE (Clear entry) to clear entry. Consider
← sign instead.
3. Numbers and math
3A. Bit truncation (classic)
0.1 + 0.2 should be equal to 0.3
3B. Division by 0 (classic) - any attempt shall be resolved in Error
2 / 0 = + 2 should throw/output an Error
4A. User shall be able to use calculator with keyboard input