add tests for calculator

if someone tries to calculate with imaginary numbers the calculator should mention that it is not supported instead of returning *NaN*