This readme and the commits involved are very granular to show what has been done. 1) Create this file 2) Used dotnet to create solution, projects and add .gitignore 3) Rename Class1.cs -> LottoService.cs, UnitTest.cs -> LottoServiceUnitTests.cs 4) Create ILottoServiceInterface.cs and wrote first failing unit test 5) Updated readme, to call out granularity 6) Generate set of random numbers. First test is passing 7) Add test to check for uniqueness (perhaps unncessary as already added Contains check but this will fail if that changes in the future) 8) Refactor LottoService to use Strategy pattern to request random numbers (also helps with unit tests) 9) Add test to check order of numbers. All tests passing 10) Introduce Autofac for IoC / Dependency injection and added DefaultRandomNumberService 11) Add defensive programming checks 12) Added more unit tests Added files missed from previous commits