Full testing and debugging of program.  Works as intended at this point of passing discount type as a String then determining type in Product class and instantiating the type of discount class needed.  Is polymorphic.
Changed code to pass an object of the discount type to Product from the FakeDataBase where it is instantiated.  Tested okay.
LineItem now gets all correct information for the each line item and is passed by register to the receipt class.  Receipt class not only creates the receipt.  No longer in violation of SRP.