Urine test detects bladder cancer up to 10 years before clinical signs