Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/martonlederer/se-lab
https://github.com/martonlederer/se-lab
Last synced: 3 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/martonlederer/se-lab
- Owner: martonlederer
- License: mit
- Created: 2024-10-16T14:19:25.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2024-10-16T15:00:26.000Z (about 1 month ago)
- Last Synced: 2024-10-19T06:48:21.827Z (29 days ago)
- Language: Java
- Size: 21.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SE Spaceship
[![Java CI with Maven](https://github.com/martonlederer/se-lab/actions/workflows/maven.yml/badge.svg)](https://github.com/martonlederer/se-lab/actions/workflows/maven.yml)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)This is a sample application for the [Software Engineering](http://www.mit.bme.hu/oktatas/targyak/vimiab04) course at BME MIT.
The application is simplified and deliberately contains bugs.
## Getting started
- The project is implemented in Java 11.
- The project can be built using [Maven](https://maven.apache.org/).
- [JUnit](https://junit.org/junit5/) is used for tests, and [Mockito](https://site.mockito.org/) for isolating dependencies.Clone the repository and execute Maven to build the application:
```
mvn compile
```To compile and run tests also execute:
```
mvn test
```(That will be enough to know for the current exercises. If you are more interested, see [this](https://github.com/ftsrg-edu/swsv-labs/wiki/0b-Build-tools) short guide about Maven.)
As this is a really simple project, you can use the command-line build tools or a light-weight IDE like [Visual Studio Code](https://code.visualstudio.com/).
## Overview
The project represents an alpha version of a spaceship.
- The ship (`SpaceShip` interface) can fire one or more lasers or torpedos.
- We have only one spaceship as of now (`GT4500`).
- Currently two firing modes (`FiringMode`) are supported: firing only one or all instances of a given weapon type.
- Lasers are not yet implemented, but the code for torpedo stores are ready (`TorpedoStore`).
- For the GT4500 ship the rules for firing torpedoes can be found in the Javadoc comment of method `fireTorpedos`. They are already partially implemented.
- There are currently two tests (`GT4500Test`), but be aware that they are not proper unit tests, as they do not isolate the dependencies of the tested class.The code can be built, but due to missing features one of the tests fails. The first exercise will be to fix this.