I have several classes that looks like: (some of them have dozens of cases)
function __construct($value) {
switch ($value){
case "1":
$value = Values::One;
break;
case "2":
$value = Values::Two;
break;
case "3":
$value = Values::Three;
break;
case "4":
$value = Values::Four;
break;
default:
$value = null;
}
parent::__construct($value);
}
And I'm already test the parent class, should I have test this class too? should I test every possible path? i.e:
assertEquals(Values::One, new Clazz(1));
assertEquals(Values::Two, new Clazz(2));
assertEquals(Values::Three, new Clazz(3));
assertEquals(Values::Four, new Clazz(4));
or do only one assertion? assertEquals(Values::One, new Clazz(1));
only