示例#1
0
def test_display_4(capsys):
    with test_database(test_db, model_list):
        prepare_db()
        with unittest.mock.patch('builtins.input', return_value="4"):
            console_ui.display(one_shot=True)
            out, err = capsys.readouterr()
            assert out == "last trip info:\nTrip 2 started on 1462731168, lasted 400 minutes and 7500 m\n"
示例#2
0
def test_display_3(capsys):
    with test_database(test_db, model_list):
        prepare_db()
        with unittest.mock.patch('builtins.input', return_value="3"):
            console_ui.display(one_shot=True)
            out, err = capsys.readouterr()
            assert out == "average consumption (km/l):\n8.75\n"
示例#3
0
def test_display_1(capsys):
    with test_database(test_db, model_list):
        prepare_db()
        with unittest.mock.patch('builtins.input', return_value="1"):
            console_ui.display(one_shot=True)
            out, err = capsys.readouterr()
            assert out == "vehicle information:\nInfo about vehicle A6789BHN: Mileage: 37150 Autonomy: 310 Fuel level: 35.0 Next manteinance in 19200 km\n"
示例#4
0
def test_display_invalid_choice(capsys):
    with test_database(test_db, model_list):
        prepare_db()
        with unittest.mock.patch('builtins.input', return_value="AA"):
            console_ui.display(one_shot=True)
            out, err = capsys.readouterr()
            # Exception caught and logged
            assert out == ""
示例#5
0
def main():
    try:
        args = option_parser()
        if args.version:
            print_version()

        setup_logging(args)
        logging.debug("Arguments: %s" % args)

        # Init database and create tables
        objects.database.init(args.db_file)
        setup.create_tables()

        # Open input file
        parsed_file = file_opener(args=args)
        # Parse data into objects
        vin, trips, info = input_parser.parse_input_file(parsed_file)
        logging.debug("Trips read: %i" % len(trips))
        # Show UI
        console_ui.display()
    except KeyboardInterrupt:
        logging.info("Exiting")
        sys.exit(1)
示例#6
0
def test_display():
    with test_database(test_db, model_list):
        prepare_db()
        with unittest.mock.patch('builtins.input', return_value="0"):
            assert console_ui.display() == None