def none(self): def fun(): pass c = Command(fun) c.min.should.equal(0) c.max.should.equal(Just(0)) c.check_length([]).should.be.ok c.check_length([1]).should_not.be.ok
def two_one_opt(self): def fun(a, b=1): pass c = Command(fun) c.min.should.equal(1) c.max.should.equal(Just(2)) c.check_length([]).should_not.be.ok c.check_length([1]).should.be.ok c.check_length([1, 2]).should.be.ok c.check_length([1, 2, 3]).should_not.be.ok
def var(self): def fun(a, b=1, *args): pass c = Command(fun) c.min.should.equal(1) c.max.is_just.should_not.be.ok c.check_length([]).should_not.be.ok c.check_length([1]).should.be.ok c.check_length([1, 2]).should.be.ok c.check_length([1, 2, 3]).should.be.ok
def six(self): def fun(a, b, c, d, e, f): pass c = Command(fun) c.min.should.equal(6) c.max.should.equal(Just(6)) c.check_length([]).should_not.be.ok c.check_length([1]).should_not.be.ok c.check_length([1, 2, 3, 4, 5, 6]).should.be.ok c.check_length([1, 2, 3, 4, 5, 6, 7]).should_not.be.ok
def one_opt(self): def fun(a=1): pass c = Command(fun) c.min.should.equal(0) c.max.should.equal(Just(1)) c.check_length([]).should.be.ok c.check_length([1]).should.be.ok c.check_length([1, 2]).should_not.be.ok