Ejemplo n.º 1
0
    def test_prepare(self):
        header = 'one two three\n-------------\n'
        recorder = TextFileRecorder(filename=self.filename)

        with self.finalizer(recorder):
            recorder.prepare(DummyRecord)
        self.assertRecordedLines(header)
Ejemplo n.º 2
0
 def test_record(self):
     record = DummyRecord(5, 'pikos', 'apikos')
     output = 'one two three\n-------------\n5 pikos apikos\n'
     recorder = TextFileRecorder(filename=self.filename)
     with self.finalizer(recorder):
         recorder.prepare(DummyRecord)
         recorder.record(record)
     self.assertRecordedLines(output)
Ejemplo n.º 3
0
    def test_exception_when_no_prepare(self):
        records = [DummyRecord(5, 'pikos', 'apikos')]
        recorder = TextFileRecorder(filename=self.filename)

        with self.assertRaises(RecorderError):
            recorder.record(records)

        with self.assertRaises(RecorderError):
            recorder.finalize()
Ejemplo n.º 4
0
 def test_finalize(self):
     header = 'one two three\n-------------\n'
     recorder = TextFileRecorder(filename=self.filename)
     # all calls do nothing
     with self.finalizer(recorder):
         recorder.prepare(DummyRecord)
         for x in range(10):
             recorder.finalize()
     self.assertRecordedLines(header)
Ejemplo n.º 5
0
    def test_prepare_multiple_times(self):
        header = 'one two three\n-------------\n'
        recorder = TextFileRecorder(filename=self.filename)

        with self.finalizer(recorder):
            recorder.prepare(DummyRecord)
            # all calls after that do nothing
            for x in range(10):
                recorder.prepare(DummyRecord)
        self.assertRecordedLines(header)
Ejemplo n.º 6
0
    def test_formatter_with_tuple(self):
        record = (5, 'pikos', 'apikos')

        # there is no header in this case
        output = '5 pikos apikos\n'
        recorder = TextFileRecorder(
            filename=self.filename, formatted=True)
        with self.finalizer(recorder):
            recorder.prepare(tuple)
            recorder.record(record)
        self.assertRecordedLines(output)
Ejemplo n.º 7
0
    def test_filter(self):
        records = [
            DummyRecord(5, 'pikos', 'apikos'),
            DummyRecord(12, 'emilios', 'milo')]
        output = 'one two three\n-------------\n12 emilios milo\n'

        def not_pikos(record):
            return all('pikos' != field for field in record)

        recorder = TextFileRecorder(filename=self.filename, filter_=not_pikos)
        with self.finalizer(recorder):
            recorder.prepare(DummyRecord)
            for record in records:
                recorder.record(record)
        self.assertRecordedLines(output)