def test_parser_should_fail_if_input_length_mismatch(self):
        source_file = testdata.TEST_PARSER_DATA_3
        parser = exparser.FileParser()

        with open(source_file, mode='r') as handle:
            with self.assertRaises(ValueError):
                parser.parse(handle)
    def test_parser_should_reject_bad_file_input(self):
        source_file = testdata.TEST_PARSER_DATA_2
        parser = exparser.FileParser()

        with open(source_file, mode='r') as handle:
            with self.assertRaises(Exception):
                parser.parse(handle)
    def test_parser_should_accept_correctly_formatted_input(self):
        source_file = testdata.TEST_PARSER_DATA_1 
        parser = exparser.FileParser()

        with open(source_file, mode='r') as handle:
            try:
                parser.parse(handle)
            except Exception as e:
                self.fail(e)
Esempio n. 4
0
def main():
    if len(sys.argv) < 2:
        print(usage())
        sys.exit(1)

    fname = sys.argv[1]

    with open(fname, 'r') as handle:
        parser = exparser.FileParser()
        fac_data = parser.parse(handle)
        results = map(lambda n: (n, fac.factorial(n)), fac_data)

        for result in results:
            n, facn = result
            print('factorial({}) = {}'.format(n, facn))
    def test_ex1_integration(self):
        handle = mock_file(file_input())
        parser = exparser.FileParser()
        values = parser.parse(handle)
        keys   = FAC_DICT.keys()

        for value in values:
            if value not in keys:
                self.fail()

        results = map(lambda n: (n, fac.factorial(n)), values)

        self.assertEqual(len(keys), len(results))

        for result in results:
            n, facn = result
            self.assertEqual(facn, FAC_DICT[n])