Separate diagnostic tests into separate method
Fixed bug where bad values didn't terminate execution