AS a user, I want there to be a basic GUI mode of the calculator #20

Open
opened 2025-09-20 13:01:04 +01:00 by Vylpes · 3 comments
Owner

Epic: #16
Estimate: 0


SO THAT I can have a GUI calculator mode setup and easily used graphically

Acceptance Criteria

GIVEN I am a user
WHEN I run calculator in the terminal
THEN the GUI will launch

GIVEN I am a user
WHEN I run calculator gui in the terminal
THEN the GUI will launch

GIVEN I am on the GUI
WHEN I enter a valid expression with the buttons
THEN the output will be displayed

GIVEN I am on the GUI
WHEN I enter an invalid expression with the buttons
THEN the "Error" will be displayed on the output

GIVEN I am on the GUI
WHEN I type with my keyboard numbers and operation symbols
THEN the input will be added the same way as buttons

Subtasks

  • Create design
  • Link to expression handler
  • Display error
  • Input via typing
  • Add icon to gui

Notes

  • Of course using a .desktop file will work too, but this will be the packaged flow's job
  • Replace calculator with whatever the path to the binary is for you
Epic: #16 Estimate: 0 --- SO THAT I can have a GUI calculator mode setup and easily used graphically ## Acceptance Criteria GIVEN I am a user WHEN I run `calculator` in the terminal THEN the GUI will launch GIVEN I am a user WHEN I run `calculator gui` in the terminal THEN the GUI will launch GIVEN I am on the GUI WHEN I enter a valid expression with the buttons THEN the output will be displayed GIVEN I am on the GUI WHEN I enter an invalid expression with the buttons THEN the "Error" will be displayed on the output GIVEN I am on the GUI WHEN I type with my keyboard numbers and operation symbols THEN the input will be added the same way as buttons ## Subtasks - [x] Create design - [x] Link to expression handler - [x] Display error - [x] Input via typing - [x] Add icon to gui ## Notes - Of course using a `.desktop` file will work too, but this will be the packaged flow's job - Replace `calculator` with whatever the path to the binary is for you
Vylpes added this to the 0.1.0 milestone 2025-09-20 13:01:04 +01:00
Author
Owner

Blocked by #13

Blocked by #13
Vylpes changed title from Basic GUI to AS a user, I want there to be a basic GUI mode of the calculator 2025-10-30 18:52:24 +00:00
Author
Owner

image

![image](/attachments/bde337a9-b871-43d6-af91-fe679eece802)
208 KiB
Vylpes self-assigned this 2026-09-23 18:07:24 +01:00
Vylpes removed their assignment 2026-09-23 18:07:38 +01:00
Vylpes added this to the 0.1 Sprint 2 project 2026-09-23 18:41:24 +01:00
Vylpes self-assigned this 2026-10-27 15:03:18 +00:00
Vylpes stopped working 2026-10-27 15:34:52 +00:00
31 minutes 29 seconds
Smithy-bot stopped working 2026-10-28 11:02:09 +00:00
8 seconds
Vylpes removed their assignment 2026-10-28 12:52:18 +00:00
Smithy-bot stopped working 2026-10-29 11:03:39 +00:00
1 minute 43 seconds
Member

QA results — PASS

Tested on release/0.1.0 @ de1670d (PR #43 merge: Add gui styling).

Automated

  • cargo test — PASS (4 tests: basic arithmetic, division by zero, invalid expression, invalid numbers)
  • cargo build --release — PASS (vyxcalc)

Launch (AC)

  • ./target/release/vyxcalc (default → GUI) — PASS (stays running under Xvfb)
  • ./target/release/vyxcalc gui — PASS (stays running under Xvfb)

Test plan (20 Test Plan v0.odt)

ID Case Result
20-0001 Valid expression via buttons 2 + 3 = PASS — display 5
20-0002 Invalid (÷0) via buttons 5 / 0 = PASS — display Error
20-0003 Expression via keyboard 7 * 8 = PASS — display 56

AC coverage

  • Default / gui launch GUI — covered
  • Valid button expression → output — covered (20-0001)
  • Invalid → Error — covered (20-0002)
  • Keyboard numbers/ops mirror buttons — covered (20-0003)

Moving to step/uat for human UAT. Live desktop packaging / .desktop smoke left for human.

## QA results — PASS Tested on `release/0.1.0` @ `de1670d` (PR #43 merge: Add gui styling). ### Automated - `cargo test` — **PASS** (4 tests: basic arithmetic, division by zero, invalid expression, invalid numbers) - `cargo build --release` — **PASS** (`vyxcalc`) ### Launch (AC) - `./target/release/vyxcalc` (default → GUI) — **PASS** (stays running under Xvfb) - `./target/release/vyxcalc gui` — **PASS** (stays running under Xvfb) ### Test plan (`20 Test Plan v0.odt`) | ID | Case | Result | |----|------|--------| | 20-0001 | Valid expression via buttons `2 + 3 =` | **PASS** — display `5` | | 20-0002 | Invalid (÷0) via buttons `5 / 0 =` | **PASS** — display `Error` | | 20-0003 | Expression via keyboard `7 * 8 =` | **PASS** — display `56` | ### AC coverage - Default / `gui` launch GUI — covered - Valid button expression → output — covered (20-0001) - Invalid → `Error` — covered (20-0002) - Keyboard numbers/ops mirror buttons — covered (20-0003) Moving to `step/uat` for human UAT. Live desktop packaging / `.desktop` smoke left for human.
Smithy-bot removed their assignment 2026-10-29 11:08:34 +00:00
Smithy-bot added spent time 2026-10-29 11:08:52 +00:00
6 minutes
Sign in to join this conversation.
No description provided.