Julio Biason
2 years ago
16 changed files with 345 additions and 0 deletions
@ -0,0 +1,6 @@
|
||||
root = true |
||||
|
||||
[*.groovy] |
||||
indent_style = space |
||||
indent_size = 4 |
||||
|
@ -0,0 +1,25 @@
|
||||
{ |
||||
"authors": [ |
||||
"duffn" |
||||
], |
||||
"contributors": [ |
||||
"alexanderific", |
||||
"amscotti", |
||||
"Dispader", |
||||
"kytrinyx" |
||||
], |
||||
"files": { |
||||
"solution": [ |
||||
"src/main/groovy/HelloWorld.groovy" |
||||
], |
||||
"test": [ |
||||
"src/test/groovy/HelloWorldSpec.groovy" |
||||
], |
||||
"example": [ |
||||
".meta/src/reference/groovy/HelloWorld.groovy" |
||||
] |
||||
}, |
||||
"blurb": "The classical introductory exercise. Just say \"Hello, World!\".", |
||||
"source": "This is an exercise to introduce users to using Exercism", |
||||
"source_url": "https://en.wikipedia.org/wiki/%22Hello,_world!%22_program" |
||||
} |
@ -0,0 +1 @@
|
||||
{"track":"groovy","exercise":"hello-world","id":"019a349fbd6141aa90ccecb1ae98683e","url":"https://exercism.org/tracks/groovy/exercises/hello-world","handle":"JBiason","is_requester":true,"auto_approve":false} |
@ -0,0 +1,48 @@
|
||||
# Help |
||||
|
||||
## Running the tests |
||||
|
||||
On MacOS/Linux, please run: |
||||
|
||||
```sh |
||||
$ chmod +x gradlew |
||||
``` |
||||
|
||||
Execute the tests with: |
||||
|
||||
```sh |
||||
$ ./gradlew test |
||||
``` |
||||
|
||||
> Use `gradlew.bat` if you're on Windows |
||||
|
||||
## Skipped tests |
||||
|
||||
After the first test(s) pass, continue by commenting out or removing the `@Ignore` annotations prepending other tests. |
||||
|
||||
## Submitting your solution |
||||
|
||||
You can submit your solution using the `exercism submit src/main/groovy/HelloWorld.groovy` command. |
||||
This command will upload your solution to the Exercism website and print the solution page's URL. |
||||
|
||||
It's possible to submit an incomplete solution which allows you to: |
||||
|
||||
- See how others have completed the exercise |
||||
- Request help from a mentor |
||||
|
||||
## Need to get help? |
||||
|
||||
If you'd like help solving the exercise, check the following pages: |
||||
|
||||
- The [Groovy track's documentation](https://exercism.org/docs/tracks/groovy) |
||||
- [Exercism's programming category on the forum](https://forum.exercism.org/c/programming/5) |
||||
- The [Frequently Asked Questions](https://exercism.org/docs/using/faqs) |
||||
|
||||
Should those resources not suffice, you could submit your (incomplete) solution to request mentoring. |
||||
|
||||
To get help if you're having trouble, you can use one of the following resources: |
||||
|
||||
- The [Groovy Language Documentation](http://docs.groovy-lang.org/docs/latest/html/documentation/) |
||||
- The [Groovy Community](http://www.groovy-lang.org/community.html) entry of the Groovy Language Documentation |
||||
- [/r/groovy](https://www.reddit.com/r/groovy) is the Groovy subreddit. |
||||
- [StackOverflow](http://stackoverflow.com/questions/tagged/groovy) can be used to search for your problem and see if it has been answered already. You can also ask and answer questions. |
@ -0,0 +1,38 @@
|
||||
# Hello World |
||||
|
||||
Welcome to Hello World on Exercism's Groovy Track. |
||||
If you need help running the tests or submitting your code, check out `HELP.md`. |
||||
|
||||
## Instructions |
||||
|
||||
The classical introductory exercise. |
||||
Just say "Hello, World!". |
||||
|
||||
["Hello, World!"][hello-world] is the traditional first program for beginning programming in a new language or environment. |
||||
|
||||
The objectives are simple: |
||||
|
||||
- Modify the provided code so that it produces the string "Hello, World!". |
||||
- Run the test suite and make sure that it succeeds. |
||||
- Submit your solution and check it at the website. |
||||
|
||||
If everything goes well, you will be ready to fetch your first real exercise. |
||||
|
||||
[hello-world]: https://en.wikipedia.org/wiki/%22Hello,_world!%22_program |
||||
|
||||
## Source |
||||
|
||||
### Created by |
||||
|
||||
- @duffn |
||||
|
||||
### Contributed to by |
||||
|
||||
- @alexanderific |
||||
- @amscotti |
||||
- @Dispader |
||||
- @kytrinyx |
||||
|
||||
### Based on |
||||
|
||||
This is an exercise to introduce users to using Exercism - https://en.wikipedia.org/wiki/%22Hello,_world!%22_program |
@ -0,0 +1,18 @@
|
||||
apply plugin: "groovy" |
||||
|
||||
repositories { |
||||
mavenCentral() |
||||
} |
||||
|
||||
dependencies { |
||||
testImplementation "org.spockframework:spock-core:2.0-M2-groovy-3.0" |
||||
implementation "org.codehaus.groovy:groovy-all:3.0.2" |
||||
} |
||||
|
||||
test { |
||||
useJUnitPlatform() |
||||
testLogging { |
||||
exceptionFormat = 'full' |
||||
events = ["passed", "failed", "skipped"] |
||||
} |
||||
} |
@ -0,0 +1,7 @@
|
||||
class HelloWorld { |
||||
|
||||
def hello() { |
||||
'Hello, World!' |
||||
} |
||||
|
||||
} |
@ -0,0 +1,13 @@
|
||||
import spock.lang.* |
||||
|
||||
class HelloWorldSpec extends Specification { |
||||
|
||||
def "Say Hi!"() { |
||||
expect: |
||||
new HelloWorld().hello() == expected |
||||
|
||||
where: |
||||
expected = 'Hello, World!' |
||||
} |
||||
|
||||
} |
@ -0,0 +1,23 @@
|
||||
{ |
||||
"authors": [ |
||||
"ikhadykin" |
||||
], |
||||
"contributors": [ |
||||
"amscotti", |
||||
"mattmoss", |
||||
"sjwarner-bp" |
||||
], |
||||
"files": { |
||||
"solution": [ |
||||
"src/main/groovy/TwoFer.groovy" |
||||
], |
||||
"test": [ |
||||
"src/test/groovy/TwoFerSpec.groovy" |
||||
], |
||||
"example": [ |
||||
".meta/src/reference/groovy/TwoFer.groovy" |
||||
] |
||||
}, |
||||
"blurb": "Create a sentence of the form \"One for X, one for me.\".", |
||||
"source_url": "https://github.com/exercism/problem-specifications/issues/757" |
||||
} |
@ -0,0 +1 @@
|
||||
{"track":"groovy","exercise":"two-fer","id":"1146ca2f98784150b4277877b3e13927","url":"https://exercism.org/tracks/groovy/exercises/two-fer","handle":"JBiason","is_requester":true,"auto_approve":false} |
@ -0,0 +1,48 @@
|
||||
# Help |
||||
|
||||
## Running the tests |
||||
|
||||
On MacOS/Linux, please run: |
||||
|
||||
```sh |
||||
$ chmod +x gradlew |
||||
``` |
||||
|
||||
Execute the tests with: |
||||
|
||||
```sh |
||||
$ ./gradlew test |
||||
``` |
||||
|
||||
> Use `gradlew.bat` if you're on Windows |
||||
|
||||
## Skipped tests |
||||
|
||||
After the first test(s) pass, continue by commenting out or removing the `@Ignore` annotations prepending other tests. |
||||
|
||||
## Submitting your solution |
||||
|
||||
You can submit your solution using the `exercism submit src/main/groovy/TwoFer.groovy` command. |
||||
This command will upload your solution to the Exercism website and print the solution page's URL. |
||||
|
||||
It's possible to submit an incomplete solution which allows you to: |
||||
|
||||
- See how others have completed the exercise |
||||
- Request help from a mentor |
||||
|
||||
## Need to get help? |
||||
|
||||
If you'd like help solving the exercise, check the following pages: |
||||
|
||||
- The [Groovy track's documentation](https://exercism.org/docs/tracks/groovy) |
||||
- [Exercism's programming category on the forum](https://forum.exercism.org/c/programming/5) |
||||
- The [Frequently Asked Questions](https://exercism.org/docs/using/faqs) |
||||
|
||||
Should those resources not suffice, you could submit your (incomplete) solution to request mentoring. |
||||
|
||||
To get help if you're having trouble, you can use one of the following resources: |
||||
|
||||
- The [Groovy Language Documentation](http://docs.groovy-lang.org/docs/latest/html/documentation/) |
||||
- The [Groovy Community](http://www.groovy-lang.org/community.html) entry of the Groovy Language Documentation |
||||
- [/r/groovy](https://www.reddit.com/r/groovy) is the Groovy subreddit. |
||||
- [StackOverflow](http://stackoverflow.com/questions/tagged/groovy) can be used to search for your problem and see if it has been answered already. You can also ask and answer questions. |
@ -0,0 +1,48 @@
|
||||
# Two Fer |
||||
|
||||
Welcome to Two Fer on Exercism's Groovy Track. |
||||
If you need help running the tests or submitting your code, check out `HELP.md`. |
||||
|
||||
## Instructions |
||||
|
||||
`Two-fer` or `2-fer` is short for two for one. |
||||
One for you and one for me. |
||||
|
||||
Given a name, return a string with the message: |
||||
|
||||
```text |
||||
One for name, one for me. |
||||
``` |
||||
|
||||
Where "name" is the given name. |
||||
|
||||
However, if the name is missing, return the string: |
||||
|
||||
```text |
||||
One for you, one for me. |
||||
``` |
||||
|
||||
Here are some examples: |
||||
|
||||
|Name |String to return |
||||
|:-------|:------------------ |
||||
|Alice |One for Alice, one for me. |
||||
|Bob |One for Bob, one for me. |
||||
| |One for you, one for me. |
||||
|Zaphod |One for Zaphod, one for me. |
||||
|
||||
## Source |
||||
|
||||
### Created by |
||||
|
||||
- @ikhadykin |
||||
|
||||
### Contributed to by |
||||
|
||||
- @amscotti |
||||
- @mattmoss |
||||
- @sjwarner-bp |
||||
|
||||
### Based on |
||||
|
||||
https://github.com/exercism/problem-specifications/issues/757 |
@ -0,0 +1,18 @@
|
||||
apply plugin: "groovy" |
||||
|
||||
repositories { |
||||
mavenCentral() |
||||
} |
||||
|
||||
dependencies { |
||||
testImplementation "org.spockframework:spock-core:2.0-M2-groovy-3.0" |
||||
implementation "org.codehaus.groovy:groovy-all:3.0.2" |
||||
} |
||||
|
||||
test { |
||||
useJUnitPlatform() |
||||
testLogging { |
||||
exceptionFormat = 'full' |
||||
events = ["passed", "failed", "skipped"] |
||||
} |
||||
} |
@ -0,0 +1,9 @@
|
||||
class TwoFer { |
||||
|
||||
static String twoFer(String name) { |
||||
if (!name) { |
||||
name = 'you' |
||||
} |
||||
"One for ${name}, one for me." |
||||
} |
||||
} |
@ -0,0 +1,36 @@
|
||||
import spock.lang.* |
||||
|
||||
class TwoFerSpec extends Specification { |
||||
|
||||
def "No name given"() { |
||||
expect: |
||||
TwoFer.twoFer() == 'One for you, one for me.' |
||||
} |
||||
|
||||
def "Empty name given"() { |
||||
expect: |
||||
TwoFer.twoFer(name) == expected |
||||
|
||||
where: |
||||
name || expected |
||||
'' || 'One for you, one for me.' |
||||
} |
||||
|
||||
def "A name given"() { |
||||
expect: |
||||
TwoFer.twoFer(name) == expected |
||||
|
||||
where: |
||||
name || expected |
||||
'Alice' || 'One for Alice, one for me.' |
||||
} |
||||
|
||||
def "Another name given"() { |
||||
expect: |
||||
TwoFer.twoFer(name) == expected |
||||
|
||||
where: |
||||
name || expected |
||||
'Bob' || 'One for Bob, one for me.' |
||||
} |
||||
} |
Loading…
Reference in new issue