/gearset-assessment

A tool for generating PDFs from text files with unit tests

Primary LanguageC#

Usage

dotnet restore
cd GearsetAssessment
dotnet run -- input.txt

Output pdf file will be GearsetAssessment/output.pdf

Run Tests

dotnet restore
dotnet test

My views on the final version of the project

  • In the sample input, it was not clear when to create a new paragraph. I assumed that both .paragraph and .indent commands go onto a new paragraph. Also I did not create a new paragraph on .large or .normal commands.
  • Commands list did not contained definion on .large and .normal commands but they were present on the sample. Thus, I implemented them also.
  • I was not sure where to put the ExtractMethod function. I decided best place would be a separate static class. However, I am still uncomfortable because of the way if clauses are stacked. Currently, it is the only solution I can think of.
  • At first, I did not want to create an interface for PdfBuilder but for unit tests of CommandParser, Moq required some kind of abstraction. Otherwise, it cannot add spies on the methods of the mocked class.