Question 1: Need to create an empty list and make a new list with methods that will return true when the list is empty
Question 2: Create a new list, and use insertion methods and update getName and getQuantity to update with the increase in nodes
Question 3: Use the bases for question 2 to compensate for the increase in nodes.
Question 4: This code will now update to add more nodes that belong as the head. This is because the code is written to set a new head when new nodes are inserted
Question 5: Prev is used to reset head so that we don't loose an already inserted value and will then add it the end of the list using curr.
Question 6: prev.setNext() would be needed in this case in order to add a node in the middle, because curr is equal to null at the moment so that a new node can be inserted.
Question 7: If the tests are constructed correctly and are testing for the right thing the class should be working correctly, which they appear to be doing so.
Question 8: They are far more intricate then I thought, but by creating them by scratch it gave me a better understanding of how they function and how to manipulate them to get your desired outcome. Also, it helped me to better understand their construction.