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"
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"
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"
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 == ""
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)
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