Which is the first test I should write when following the TDD guidelines? A test for the whole system or for the smallest core method?
Example: A project should read a CSV and convert it to XML. My first test should be:
Take a CSV (input) and the corresponding XML (expected) and checking if the application does the conversion correctly (Assert.AreEqual(expected, actual)) ?
Take a CSV (input) and the corresponding memory representation (expected) and check if it is parsed correctly (Assert.AreEqual(expected, actual)) ?
the second option represents one of the methods that are used to achieve the whole goal, which is represented by the first option.