Пример #1
0
    def test_multiple_append(self):
        ''' Tests if the multiple append is successful or not

        :return:
        '''

        csvr = CSVReader('test_data.csv')

        properties = csvr.get_properties_from_csv()

        dbm = DatabaseManagement('unittest.db', verbose=False)

        dbm.create_db()
        dbm.create_table()

        dbm.append_multiple_rows(properties)

        conn = dbm.create_connection()

        c = dbm.create_cursor(conn)

        c.execute('''SELECT * FROM material_properties''')

        table = c.fetchall()

        dbm.close_connection(conn)

        self.assertEqual(len(table), 100)
Пример #2
0
    def test_number_of_materials(self):
        ''' Tests if the number of material is correct

        '''

        csvr = CSVReader('data.csv')

        properties = csvr.get_properties_from_csv()

        self.assertEqual(len(properties), 100)
Пример #3
0
    def test_property_tuple(self):
        ''' Tests is the tuple returned correctly

        '''

        assert_tuple = ('Cd1I2', 3.19, 'White')

        csvr = CSVReader('data.csv')

        properties = csvr.get_properties_from_csv()

        self.assertEqual(properties[0], assert_tuple)
Пример #4
0
def process_args():

    args = get_args()

    if args.read and args.store:

        csvr = CSVReader(args.read)

        properties = csvr.get_properties_from_csv()

        dbm = DatabaseManagement(db_name=args.store)

        dbm.create_db()
        dbm.create_table()

        dbm.append_multiple_rows(properties)

    elif args.database and (args.print_rows is not None):

        dbm = DatabaseManagement(db_name=args.database)

        dbm.print_info(num_rows=args.print_rows)

    elif args.database and args.material:

        dbm = DatabaseManagement(db_name=args.database)

        dbm.search_by_material(material_name=args.material)

    elif args.database and args.color:

        dbm = DatabaseManagement(db_name=args.database)

        dbm.search_by_color(color=args.color)

    elif args.database and args.band_gap:

        dbm = DatabaseManagement(db_name=args.database)

        dbm.search_by_band_gap(band_gap=args.band_gap, tol_perc=args.tol)

    elif (args.bg_min is not None) and (args.bg_max is not None):

        dbm = DatabaseManagement(db_name=args.database)

        dbm.search_by_band_gap_range(band_gap_min=args.bg_min, band_gap_max=args.bg_max)

    else:
        print('\n The arguemnts provided are not valid.')
Пример #5
0
    def test_band_gap_search(self):
        ''' Tests if band gap search is successful or not

        :return:
        '''

        csvr = CSVReader('test_data.csv')

        properties = csvr.get_properties_from_csv()

        dbm = DatabaseManagement('unittest.db', verbose=False)

        dbm.create_db()
        dbm.create_table()

        dbm.append_multiple_rows(properties)

        table = dbm.search_by_band_gap(band_gap=2)

        self.assertEqual(len(table), 8)