+ complex test
+ specific exceptions for invalid cases
+ invalid cases
+ tests, @Rule ExpectedException