public void CSVReaderWriter_Read_NullWriterOpen()
        {
            var csvReaderWriter = new CSVReaderWriter(null, null, delimiter);

            Assert.Throws <ApplicationException>(() => csvReaderWriter.Open("somedata", Mode.Read));
            Assert.Throws <ApplicationException>(() => csvReaderWriter.OpenRead("somedata"));
        }
        public void CSVReaderWriter_Write_NotOpenedOnReadOpen()
        {
            MockDataReader mockReader = new MockDataReader();
            MockDataWriter mockWriter = new MockDataWriter();

            mockWriter.OpenDelegate =
                (s) =>
            {
                Assert.Fail("Open called for writer");
            };

            var csvReaderWriter = new CSVReaderWriter(mockReader, mockWriter, delimiter);

            csvReaderWriter.Open("somefilepath", Mode.Read);
            csvReaderWriter.OpenRead("somefilepath");
        }
        public void CSVReaderWriter_Read_Opened()
        {
            int            openCalled = 0;
            MockDataReader mockReader = new MockDataReader();

            mockReader.OpenDelegate =
                (s) =>
            {
                Assert.AreEqual("somefilepath", s);
                openCalled++;
            };

            var csvReaderWriter = new CSVReaderWriter(mockReader, null, delimiter);

            csvReaderWriter.Open("somefilepath", Mode.Read);
            csvReaderWriter.OpenRead("somefilepath");
            Assert.AreEqual(2, openCalled);
        }