public void ThrowsIfFilePathIsNull()
            {
                var sut = new TestListWriter(_fileSystem, _environment);

                var exception = Assert.Throws <ArgumentNullException>(() => sut.Write(null, _tests));

                Assert.AreEqual("filePath", exception.ParamName);
            }
            public void WritesExpectedContentsToTheFile()
            {
                var sut = new TestListWriter(_fileSystem, _environment);

                sut.Write(_testListFile, _tests);

                var fileLines = _fileSystem.GetFile(_testListFile).ReadLines(Encoding.UTF8).ToList();

                Assert.AreEqual(_tests.Count, fileLines.Count, "Unexpected amount of lines in file");

                for (int i = 0; i < _tests.Count; i++)
                {
                    Assert.AreEqual(_tests[i], fileLines[i], "Unexpected test file content");
                }
            }
            public void WritesExpectedContentsToTheFileWhenWrittenTwice()
            {
                var sut         = new TestListWriter(_fileSystem, _environment);
                var secondTests = new List <string> {
                    "Test.Three", "Test.Four"
                };

                sut.Write(_testListFile, _tests);
                sut.Write(_testListFile, secondTests);

                var fileLines = _fileSystem.GetFile(_testListFile).ReadLines(Encoding.UTF8).ToList();

                Assert.AreEqual(secondTests.Count, fileLines.Count, "Unexpected amount of lines in file");

                for (int i = 0; i < secondTests.Count; i++)
                {
                    Assert.AreEqual(secondTests[i], fileLines[i], "Unexpected test file content");
                }
            }