コード例 #1
0
    def test_csv_quoted(self):
        readers = [
            CSVReaderPerThread(os.path.join(os.path.dirname(__file__),
                                            "resources/data/quoted_utf8.csv"),
                               loop=False),
            CSVReaderPerThread(os.path.join(os.path.dirname(__file__),
                                            "resources/data/quoted_utf16.csv"),
                               loop=False),
            CSVReaderPerThread(os.path.join(
                os.path.dirname(__file__), "resources/data/unquoted_utf8.csv"),
                               loop=False),
            CSVReaderPerThread(os.path.join(
                os.path.dirname(__file__),
                "resources/data/unquoted_utf16.csv"),
                               loop=False)
        ]
        readers_data = []

        for reader in readers:
            reader.read_vars()
            readers_data.append(reader.get_vars())

        result = {'ac1': '1', 'bc1': '2', 'cc1': '3'}
        for data in readers_data:
            self.assertEqual(data, result)
コード例 #2
0
    def test_csv_encoding(self):
        reader_utf8 = CSVReaderPerThread(os.path.join(RESOURCES_DIR, "data/encoding_utf8.csv"), loop=False)
        reader_utf16 = CSVReaderPerThread(os.path.join(RESOURCES_DIR, "data/encoding_utf16.csv"), loop=False)
        data_utf8, data_utf16 = [], []

        reader_utf8.read_vars()
        data_utf8.append(reader_utf8.get_vars())

        reader_utf16.read_vars()
        data_utf16.append(reader_utf16.get_vars())

        self.assertEqual(data_utf8, data_utf16)
コード例 #3
0
    def test_reader_without_loop(self):
        """ check different reading speed, fieldnames and separators """
        reader = CSVReaderPerThread(os.path.join(RESOURCES_DIR, "data/source0.csv"), loop=False)
        data = []
        try:
            for i in range(20):
                reader.read_vars()
                data.append(reader.get_vars())
        except NormalShutdown:
            self.assertEqual(6, len(data))
            return

        self.fail()
コード例 #4
0
    def test_csv_delimiter(self):
        readers = [
            CSVReaderPerThread(os.path.join(RESOURCES_DIR, "data/encoding_utf8.csv"), loop=False),
            CSVReaderPerThread(os.path.join(RESOURCES_DIR, "data/delimiter_tab.csv"), loop=False),
            CSVReaderPerThread(os.path.join(RESOURCES_DIR, "data/delimiter_semicolon.csv"), loop=False)]
        readers_data = []

        for reader in readers:
            reader.read_vars()
            readers_data.append(reader.get_vars())

        result = {'ac1': '1', 'bc1': '2', 'cc1': '3'}
        for data in readers_data:
            self.assertEqual(data, result)
コード例 #5
0
ファイル: test_csv.py プロジェクト: undera/apiritif
    def test_csv_encoding(self):
        reader_utf8 = CSVReaderPerThread(os.path.join(os.path.dirname(__file__), "resources/data/encoding_utf8.csv"),
                                         loop=False)
        reader_utf16 = CSVReaderPerThread(os.path.join(os.path.dirname(__file__), "resources/data/encoding_utf16.csv"),
                                          loop=False)
        data_utf8, data_utf16 = [], []

        reader_utf8.read_vars()
        data_utf8.append(reader_utf8.get_vars())

        reader_utf16.read_vars()
        data_utf16.append(reader_utf16.get_vars())

        self.assertEqual(data_utf8, data_utf16)
コード例 #6
0
import os
import unittest


import apiritif
from apiritif.thread import get_index, get_iteration
from apiritif.csv import CSVReaderPerThread

reader = CSVReaderPerThread(os.path.join(os.path.dirname(__file__), "data/source0.csv"), loop=False)


def log_it(name, data):
    log_line = "%s-%s. %s:%s\n" % (get_index(), name, data["name"], data["pass"])
    with apiritif.transaction(log_line):    # write log_line into report file for checking purposes
        pass


def setup():    # setup_module
    if get_iteration() > 6:     # do one pass to set stop_cause once
        return

    reader.read_vars()  #


class Test0(unittest.TestCase):
    def test_00(self):
        log_it("00", reader.get_vars())
        if get_iteration() > 5:
            raise BaseException("!!!")

コード例 #7
0
import os
import unittest


import apiritif
from apiritif.thread import get_index
from apiritif.csv import CSVReaderPerThread

reader0 = CSVReaderPerThread(os.path.join(os.path.dirname(__file__), "data/source0.csv"), quoted=True)
reader1 = CSVReaderPerThread(os.path.join(os.path.dirname(__file__), "data/source1.csv"),
                             fieldnames=["name+", "pass+"],
                             delimiter="-")


def log_it(name, data):
    variables = ":".join((data["name"], data["pass"], data["name+"], data["pass+"]))
    log_line = "%s-%s. %s\n" % (get_index(), name, variables)
    with apiritif.transaction(log_line):    # write log_line into report file for checking purposes
        pass


def setup():    # setup_module
    reader0.read_vars()
    reader1.read_vars()


class Test1(unittest.TestCase):
    def setUp(self):
        self.vars = {}
        self.vars.update(reader0.get_vars())
        self.vars.update(reader1.get_vars())