Skip to content

Commit 4e17c99

Browse files
committed
Add tests for ArityParam (currently failing)
Signed-off-by: Ben Sherman <bentshermann@gmail.com>
1 parent 2a015c7 commit 4e17c99

2 files changed

Lines changed: 26 additions & 3 deletions

File tree

modules/nextflow/src/main/groovy/nextflow/script/params/ArityParam.groovy

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,9 @@ trait ArityParam {
7272

7373
@Override
7474
String toString() {
75-
"${min}..${max == Integer.MAX_VALUE ? '*' : max}".toString()
75+
min == max
76+
? min.toString()
77+
: "${min}..${max == Integer.MAX_VALUE ? '*' : max}".toString()
7678
}
7779
}
7880

modules/nextflow/src/test/groovy/nextflow/script/params/ArityParamTest.groovy

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,15 @@ import spock.lang.Unroll
2424
*/
2525
class ArityParamTest extends Specification {
2626

27+
static class DefaultArityParam implements ArityParam {
28+
DefaultArityParam() {}
29+
}
30+
2731
@Unroll
28-
def 'should set arity' () {
32+
def testArity () {
2933

3034
when:
31-
def param = [:] as ArityParam
35+
def param = new DefaultArityParam()
3236
param.setArity(VALUE)
3337
then:
3438
param.arity.min == MIN
@@ -41,4 +45,21 @@ class ArityParamTest extends Specification {
4145
'1..*' | 1 | Integer.MAX_VALUE
4246
}
4347

48+
@Unroll
49+
def testArityRange () {
50+
51+
when:
52+
def range = new ArityParam.Range(MIN, MAX)
53+
then:
54+
range.contains(2) == TWO
55+
range.isSingle() == SINGLE
56+
range.toString() == STRING
57+
58+
where:
59+
MIN | MAX | TWO | SINGLE | STRING
60+
1 | 1 | false | true | '1'
61+
0 | 1 | false | true | '0..1'
62+
1 | Integer.MAX_VALUE | true | false | '1..*'
63+
}
64+
4465
}

0 commit comments

Comments
 (0)