A simple, small calculator placed discreetly near the Windows Taskbar or anywhere on the screen
0

Configure Feed

Select the types of activity you want to include in your feed.

test: cover sqrt, reciprocal, percent, negate, 000, reset, div-by-zero, overflow

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

Marco Maroni (Jul 14, 2026, 2:59 PM +0200) 93e72d64 689ca8aa

+64
+64
tests/CalcTests.cpp
··· 62 62 return true; 63 63 } 64 64 65 + TEST(square_root) { 66 + calc c; c.set_precision(2); 67 + wchar_t out[1024]; 68 + feed(c, L"9Q", out); // Q = CALC_SQRT 69 + EXPECT_WSTR(out, L"3"); 70 + return true; 71 + } 72 + 73 + TEST(reciprocal) { 74 + calc c; c.set_precision(2); 75 + wchar_t out[1024]; 76 + feed(c, L"4I", out); // I = CALC_I (inverse, 1/x) 77 + EXPECT_WSTR(out, L"0.25"); 78 + return true; 79 + } 80 + 81 + TEST(percent) { 82 + calc c; c.set_precision(2); 83 + wchar_t out[1024]; 84 + feed(c, L"200*10%", out); // % = CALC_PERC 85 + EXPECT_WSTR(out, L"20"); 86 + return true; 87 + } 88 + 89 + TEST(negate) { 90 + calc c; c.set_precision(2); 91 + wchar_t out[1024]; 92 + feed(c, L"5P", out); // P = CALC_NEG 93 + EXPECT_WSTR(out, L"-5"); 94 + return true; 95 + } 96 + 97 + TEST(triple_zero) { 98 + calc c; c.set_precision(2); 99 + wchar_t out[1024]; 100 + feed(c, L"5Z", out); // Z = CALC_000 101 + EXPECT_WSTR(out, L"5000"); 102 + return true; 103 + } 104 + 105 + TEST(reset) { 106 + calc c; c.set_precision(2); 107 + wchar_t out[1024]; 108 + feed(c, L"123N", out); // N = CALC_RESET 109 + EXPECT_WSTR(out, L"0"); 110 + return true; 111 + } 112 + 113 + TEST(divide_by_zero) { 114 + calc c; c.set_precision(2); 115 + wchar_t out[1024]; 116 + feed(c, L"5/0=", out); 117 + EXPECT_WSTR(out, L"Error: division by zero"); 118 + return true; 119 + } 120 + 121 + TEST(overflow) { 122 + calc c; c.set_precision(2); 123 + wchar_t out[1024]; 124 + feed(c, L"99999999999999999999999999", out); // 26 digits > MAX_LEN_RESULT (25) 125 + EXPECT_WSTR(out, L"Error: overflow"); 126 + return true; 127 + } 128 + 65 129 int wmain() { return run_all(); }