Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/fmanimashaun/tdd_project

The Test-Driven Development (TDD) Project is a hands-on exercise in implementing the principles of TDD using Ruby. The project involves creating a Solver class with methods such as factorial, reverse, and fizzbuzz, with the unique aspect being that tests are written before the code. This project serves as a practical experience in writing tests fir
https://github.com/fmanimashaun/tdd_project

rspec ruby

Last synced: 14 days ago
JSON representation

The Test-Driven Development (TDD) Project is a hands-on exercise in implementing the principles of TDD using Ruby. The project involves creating a Solver class with methods such as factorial, reverse, and fizzbuzz, with the unique aspect being that tests are written before the code. This project serves as a practical experience in writing tests fir

Awesome Lists containing this project

README

        

# TDD project

# 📗 Table of Contents

- [📖 About the Project](#about-project)
- [🛠 Built With](#built-with)
- [Tech Stack](#tech-stack)
- [Key Features](#key-features)
- [💻 Getting Started](#getting-started)
- [Prerequisites](#prerequisites)
- [Setup](#setup)
- [Usage](#usage)
- [👥 Authors](#authors)
- [🔭 Future Features](#future-features)
- [🤝 Contributing](#contributing)
- [⭐️ Show your support](#support)
- [🙏 Acknowledgements](#acknowledgements)
- [📝 License](#license)

## 📖 TDD project

The Test-Driven Development (TDD) Project is a hands-on exercise in implementing the principles of TDD using Ruby. The project involves creating a Solver class with methods such as factorial, reverse, and fizzbuzz, with the unique aspect being that tests are written before the code. This project serves as a practical experience in writing tests first and then developing software that passes these tests, adhering to best practices for Ruby and professional documentation.

## 🛠 Built With

- Ruby

### Tech Stack

Server


  • Ruby

Test Suite


  • Rspec

### Key Feature

- **Test-Driven Development:** This project is built using the principles of Test-Driven Development (TDD), ensuring robust and reliable code.
- **Solver Class:** The Solver class includes methods for common operations such as factorial calculation, string reversal, and the FizzBuzz problem.
- **Factorial Method:** The factorial method calculates the factorial of a number, handling edge cases such as negative numbers and zero.
- **Reverse Method:** The reverse method takes a string and returns it reversed, providing a handy utility for string manipulation.
- **FizzBuzz Method:** The fizzbuzz method implements the popular FizzBuzz problem, returning ‘fizz’, ‘buzz’, ‘fizzbuzz’, or the number itself based on the input.
- **Error Handling:** The project includes error handling for invalid inputs, raising exceptions where appropriate.
Comprehensive Testing: Each method in the Solver class has corresponding tests, ensuring that all functionalities work as expected.
- **Best Practices:** The project follows best practices for Ruby, including consistent naming conventions, clear code comments, and proper use of data structures.

👆

## 💻 Getting Started

To get started with the project, follow the steps below.

### Prerequisites

To run this project, ensure you have the following installed:

- [Git](https://git-scm.com/)
- [Ruby](https://www.ruby-lang.org/en/)
- A code editor (e.g., [VsCode](https://code.visualstudio.com/))

### Setup

Clone the repository to your local machine:

```bash
git clone https://github.com/fmanimashaun/tdd_project.git
```

### Usage

To run the program, you can use a Ruby interpreter. For example, to interact with the code, use the following:

```ruby
irb
```

Then, load the required files and start using the classes.

👆

## 👥 Authors

👤 **Fisayo Michael Animashaun**

- GitHub: [@fmanimashaun](https://github.com/fmanimashaun)
- Twitter: [@fmanimashaun](https://twitter.com/fmanimashaun)
- LinkedIn: [Fisayo Michael Animashaun ](https://linkedin.com/in/fmanimashaun)

👆

## 🔭 Future Features

- [Add your future feature ideas here.]

👆

## 🤝 Contributing

Contributions, issues, and feature requests are welcome!

Feel free to check the issues page.

https://github.com/fmanimashaun/school_library/issues

👆

## ⭐️ Show your support

If you like this project leave a start for it.

👆

## 🙏 Acknowledgments

I'd like to thank Microverse for helping us in the journey to become a Fullstack developer.

👆

## 📝 License

This project is [MIT](./LICENSE) licensed.

👆