GithubHelp home page GithubHelp logo

bhavya1099 / java-cucumber Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gherkin-by-example/java-cucumber

0.0 0.0 0.0 315 KB

A port of Specflow's Calculator example to Cucumber-JVM in order to solve BeeCrowd statements.

License: GNU Affero General Public License v3.0

Java 66.43% Gherkin 33.57%

java-cucumber's Introduction

Gherkin By Example (java-cucumber)

Github Actions Quality Gate Status

This is a solution to some BeeCrowd problems using Gherkin specifications.

Problem Statements

Solved problem statements can be found at:

Solutions

Bee 1001 example solutions written in Java and other programming languages can be found here: https://www.beecrowd.com.br/judge/pt/faqs/about/examples.

If you are learning about computer programming, read solutions only after you have written your own solution.

If you are learning about program specification, first read problem statements and then read features files.

If you are learning about program testing, first read feature files and then read Java code with testing steps.

The solution process presented here adopts a behaviour-driven development style. The code also adopts a domain-driven style using Java language. The original problem statement is first modelled using Gherkin language.

Two levels of modelling are adopted: system level and domain level, each level has its own Gherkin specification.

For instance, a domain-oriented solution is presented here: https://github.com/gherkin-by-example/java-cucumber/blob/main/src/main/java/br/masmangan/beecrowd/bee1001 This solution adopts one boundary class (Main.java) and an auxiliary class (Greeting.java).

At the system level the behaviour is described as a text-oriented input and output. This behaviour verifies that the solution can be accepted by BeeCrowd Online Judge.

At the domain level the behaviour description adopts a more conceptual style, independent of a system interface. This second level adds a separation of concerns between boundary and model.

Gherkin specification and solution are a port from Specflow guide.

Testing code against specifications

git clone https://github.com/gherkin-by-example/java-cucumber.git
cd java-cucumber
mvn test

java-cucumber's People

Contributors

masmangan avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.