{"id":19664549,"url":"https://github.com/sancakerkan/atm-machine-unittesting","last_synced_at":"2026-05-16T00:37:59.325Z","repository":{"id":250302048,"uuid":"833679783","full_name":"sancakerkan/ATM-Machine-UnitTesting","owner":"sancakerkan","description":"This repository contains unit tests for an ATM Machine simulation program written in Java. The main goal of this project is to practice writing assertion cases and creating test suites.","archived":false,"fork":false,"pushed_at":"2024-08-08T16:39:09.000Z","size":483,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-10T02:20:11.068Z","etag":null,"topics":["java","junit","junit5","maven","software-quality-assurance","testing","unit-testing"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sancakerkan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-25T14:25:28.000Z","updated_at":"2024-08-08T16:39:12.000Z","dependencies_parsed_at":"2024-08-06T18:41:55.035Z","dependency_job_id":null,"html_url":"https://github.com/sancakerkan/ATM-Machine-UnitTesting","commit_stats":null,"previous_names":["sancakerkan/atm-machine-unittesting"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sancakerkan%2FATM-Machine-UnitTesting","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sancakerkan%2FATM-Machine-UnitTesting/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sancakerkan%2FATM-Machine-UnitTesting/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sancakerkan%2FATM-Machine-UnitTesting/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sancakerkan","download_url":"https://codeload.github.com/sancakerkan/ATM-Machine-UnitTesting/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240974368,"owners_count":19887296,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","junit","junit5","maven","software-quality-assurance","testing","unit-testing"],"created_at":"2024-11-11T16:18:05.207Z","updated_at":"2025-10-29T04:24:58.855Z","avatar_url":"https://github.com/sancakerkan.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ATM Machine Unit Testing\n![Java](https://img.shields.io/badge/Java-ED8B00?style=for-the-badge\u0026logo=java\u0026logoColor=white)\n![JUnit](https://img.shields.io/badge/JUnit-25A162?style=for-the-badge\u0026logo=junit5\u0026logoColor=white)\n![Maven](https://img.shields.io/badge/Maven-C71A36?style=for-the-badge\u0026logo=apache-maven\u0026logoColor=white)\n![GitHub](https://img.shields.io/badge/GitHub-100000?style=for-the-badge\u0026logo=github\u0026logoColor=white)\n![Issues](https://img.shields.io/github/issues/sancakerkan/ATM-Machine-UnitTesting)\n![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)\n\n## Table of Contents\n\n- [Introduction](#introduction)\n- [Features](#features)\n- [Installation](#installation)\n- [Usage](#usage)\n- [Testing](#testing)\n- [Contributing](#contributing)\n- [License](#license)\n- [Acknowledgements](#acknowledgements)\n\n## Introduction\n\nThis repository contains unit tests for an ATM Machine simulation program written in Java. The main goal of this project is to practice writing assertion cases and creating test suites. The ATM code is sourced from an [existing project](https://github.com/rajyash1904/ATM-Machine), while the unit tests and assertions have been written specifically for this repository.\n\n## Features\n\n- **Account Management:** Perform operations such as deposits, withdrawals, and transfers.\n- **ATM Interface:** Run the ATM application and manage user interactions.\n- **Option Menu:** Handle user inputs and perform account operations.\n- **Unit Testing:** Comprehensive tests for the main classes using JUnit.\n\n## UML Diagram and Project Structure\n\n\u003cimg src=\"https://github.com/sancakerkan/ATM-Machine-UnitTesting/blob/main/.idea/ProjectUML.png\" alt=\"UML Diagram\" width=\"500\"/\u003e\n\u003cimg src=\"https://github.com/sancakerkan/ATM-Machine-UnitTesting/blob/main/.idea/Project%20Structure.png\" alt=\"Project Structure\" width=\"300\"/\u003e\n\n## Installation\n\n### Prerequisites\n\n- Java Development Kit (JDK) 8 or later\n- An IDE with Maven support (IntelliJ IDEA, Eclipse, etc.)\n\n### Cloning the Repository\n\n1. **Using IntelliJ IDEA:** \n    - Go to `File` \u003e `New` \u003e `Project from Version Control`.\n    - Enter the repository URL: `https://github.com/sancakerkan/ATM-Machine-UnitTesting.git`.\n    - Click `Clone`.\n\n2. **Using Eclipse:**\n    - Go to `File` \u003e `Import...`.\n    - Select `Git` \u003e `Projects from Git` \u003e `Clone URI`.\n    - Enter the repository URL: `https://github.com/sancakerkan/ATM-Machine-UnitTesting.git`.\n    - Follow the prompts to complete the cloning process.\n  \n3. **OR Simply Download the ZIP file**\n    - [ZIP File](https://github.com/sancakerkan/ATM-Machine-UnitTesting/archive/refs/heads/main.zip)\n\n## Usage\n\n### Running the ATM Application\n\n1. **Using IntelliJ IDEA:**\n    - Open the project.\n    - Navigate to `src/main/java/ATM.java`.\n    - Right-click `ATM.java` and select `Run 'ATM.main()'`.\n\n2. **Using Eclipse:**\n    - Open the project.\n    - Navigate to `src/main/java/ATM.java`.\n    - Right-click `ATM.java` and select `Run As` \u003e `Java Application`.\n\n\n## Testing\n\n### Running All Tests\n\n1. **Using IntelliJ IDEA:**\n    - Right-click the `test` directory or the project root.\n    - Select `Run 'All Tests'`.\n\n2. **Using Eclipse:**\n    - Right-click the `src/test/java` directory or the project root.\n    - Select `Run As` \u003e `JUnit Test`.\n\n### Running Individual Test Classes\n\nYou can run individual test classes, especially the assertion case classes:\n\n1. **Using IntelliJ IDEA:**\n    - Navigate to the specific test class (e.g., `AccountTest.java`).\n    - Right-click the class and select `Run 'AccountTest'`.\n\n2. **Using Eclipse:**\n    - Navigate to the specific test class (e.g., `AccountTest.java`).\n    - Right-click the class and select `Run As` \u003e `JUnit Test`.\n\n ### Test Structure\n- `AccountTest`: Tests for account operations such as deposits, withdrawals, and transfers.\n- `OptionMenuTest`: Tests for user interactions and menu options.\n- `TestSuite`: A test suite that aggregates all the test classes for comprehensive testing.\n\n## Contributing\n\nContributions are welcome! If you have any suggestions or improvements, feel free to open an issue or submit a pull request.\n\n1. Fork the repository\n2. Create your feature branch \n3. Commit your changes \n4. Push to the branch \n5. Open a pull request\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for more details.\n\n## Acknowledgements\n- **The source code for the ATM Machine project is available under the MIT License from [ATM Machine Project](https://github.com/rajyash1904/ATM-Machine).**\n- Special thanks to the respective owners for providing the original ATM Machine code.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsancakerkan%2Fatm-machine-unittesting","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsancakerkan%2Fatm-machine-unittesting","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsancakerkan%2Fatm-machine-unittesting/lists"}