added tests for excessive and negative discounts; amended function to pass."