class ConverterTest(unittest.TestCase):

    def setUp(self):
        self.loader = FileLoader()
        self.converter = Converter()
        self.extractor = Extractor()
        self.loader.load_file("logs_old/JOURNAL00.TXT")
        self.converter.read_entries(self.loader.lines)

    def test_read_all_lines(self):
        self.assertTrue(len(self.converter.entries) > 0)
        self.assertEqual(len(self.converter.entries), len(self.loader.lines))

    def test_converted_entries_are_valid(self):
        for i in xrange(len(self.loader.lines)):
            self.extractor.extract_data(self.loader.lines[i])
            self.assertEqual(self.converter.entries[i].instrumentname, self.extractor.instrumentname)
            self.assertEqual(self.converter.entries[i].runnumber, self.extractor.runnumber)
            self.assertEqual(self.converter.entries[i].username, self.extractor.username)
            self.assertEqual(self.converter.entries[i].experimenttitle, self.extractor.experimenttitle)
            self.assertEqual(self.converter.entries[i].startdate, self.extractor.startdate)
            self.assertEqual(self.converter.entries[i].starttime, self.extractor.starttime)
            self.assertEqual(self.converter.entries[i].charge, self.extractor.charge)
import sys

from file_loader import FileLoader
from converter import Converter
from xml_outputter import XMLOutputter

loader = FileLoader()
converter = Converter()

try:
    path = sys.argv[1]
    loader.load_file("logs_old/" + path + ".txt")
except IOError:
    sys.exit("Invalid File Path - Usage: main.py <filename of file in logs_old> (no extension)")

converter.read_entries(loader.lines)
outputter = XMLOutputter(path)
for entry in converter.entries:
    outputter.write_line(entry)
outputter.output_to_file()
print "Saved under logs_new/" + path + ".xml"