Set up your project with the given starting templates. The files should compile and run, but either no tests willbe run, or tests will run but be failing.2. For this project, start by uncommenting the first TEST_CASE in the assg07-tests.cpp file. These are the unittests to test the functionality of getSize() member function.3. Add the correct function prototype for the getSize() member function to the ListType class in theListType.hpp header file. The prototype consists of the name of the function, its input parameters and theirtypes, and the return value of the function.4. Add a implementation of the getSize() member function to the ListType.cpp implementation file. Thefunction should have the same signature as the prototype you gave in the header file. Documentation for the1function has not been given for you this time, so add documentation of your function first. Don’t forget toindicate that this function is a member of the ListType class.5. Your code should compile and run now. Make sure after adding the function prototype and stub your codecompiles and runs. However, your unit tests might be failing initially.6. Incrementally implement the functionality of your getSize() function (if needed). You should try to add nomore than 2 or 3 lines of code, and then make sure your program still compiles and runs. Start by adding codeto get the first failing test to pass. Then once that test passes, move on to the next failing tests until you haveall tests passing. If you write something that causes a previously passing test to fail, you should stop and figureout why, and either fix it so that the original test still passes, or remove what you did and try a new approach.7. Once you have the getSize() function implemented and all unit tests passing, you should then move on to theother functions in the order suggested. Some member functions use previous ones in this assignment, so dothem in the order given for you in the tasks below.