tests updated to reflect all outcomes and possibilities and pass