def test_create_database(self): self.drop_person() self.create_db_just_person() self.assertEqual(0, len(storage.find(Person))) self.drop_all() self.create_db() self.assertEqual(0, len(storage.find(Person))) self.assertEqual(0, len(storage.find(Age)))
def test_delete(self): storage.insert(Age("mouse", 20)) storage.delete(Age) saved_objects = storage.find(Age) self.assertEqual(len(saved_objects), 0) model = storage.put(Person(name="alabama")) storage.put(Person(name="orm")) storage.delete(Person, uuid=model.uuid) saved_objects = storage.find(Person) self.assertEqual(len(saved_objects), 1)
def test_select_one(self): for i in range(20, 22): name = "mouse %s" % (i) self.assertTrue(storage.insert(Age(name, i))) test_obj = storage.find(Age, limit=1, where={"age": 20, "name": "mouse 20"}) self.assertEqual(1, len(test_obj)) self.assertTrue(isinstance(test_obj[0], Age)) self.assertEqual(test_obj[0].name, "mouse 20") self.assertEqual(test_obj[0].age, 20)
def test_update(self): for i in range(10, 50, 10): self.assertTrue(storage.insert(Age("mouse", i))) self.assertTrue(storage.update(Age("mouseUpdated", 50), where={"age": 10, "name": "mouse"})) test_obj = storage.find(Age, limit=10, where={"age": 50, "name": "mouseUpdated"}) self.assertEqual(1, len(test_obj)) self.assertTrue(isinstance(test_obj[0], Age)) self.assertEqual(test_obj[0].name, "mouseUpdated") self.assertEqual(test_obj[0].age, 50)
def test_insert(self): self.assertTrue(storage.insert(Age("mouse", 20))) test_obj = storage.find(Age) self.assertEqual(test_obj[0].name, "mouse") self.assertEqual(test_obj[0].age, 20) self.assertIsNotNone(test_obj)
def test_select_in(self): for i in range(20, 23): self.assertTrue(storage.insert(Age("mouse", i))) result = storage.find(Age, where={"age": (Query.IN, [20, 21, 23])}) self.assertEqual(2, len(result))
def test_select_limit(self): for i in range(20, 23): self.assertTrue(storage.insert(Age("mouse", i))) result = storage.find(Age, limit=1) self.assertEqual(1, len(result))
def test_select(self): for i in range(0, 2): self.assertTrue(storage.insert(Age("mouse", 20))) test_obj = storage.find(Age) self.assertEqual(len(test_obj), 2)
def test_sql_injection(self): self.assertTrue(storage.insert(Age('mouse', 20))) test = Age("'; delete from tb_Age") self.assertTrue(storage.insert(test)) test_obj = storage.find(Age, where={'name': 'mouse'}) self.assertEqual(len(test_obj), 1)
def main(): if len(sys.argv) == 1: parser.print_help() exit args = parser.parse_args() if args.fib: for x in fib.generate_fib_sequence(args.fib): print x if args.sto: storage = storage.Storage() while input != "exit": input = raw_input("Enter command:") items = input.split() if len(items) == 0: print "Command required" continue command = items[0] del(items[0]) if command == "add": for x in items: storage.add(x) elif command == "remove": for x in items: storage.remove(x) elif command == "find": for x in items: storage.find(x) elif command == "list": storage.list() elif command == "save": print items[0] storage.save(items[0]) elif command == "load": storage.load(items[0]) elif command == "grep": storage.grep(items[0]) elif command != "exit": print "Invalid command" if args.text: try: with open(args.text, "r") as file: text = file.read() except IOError: print "File {} doesn't exist".format(args.text) print "Average wordcount:{}".format(text_statistics.average_wordcount(text)) print "Median wordcount: {}".format(text_statistics.median_wordcount(text)) print "Word count: {}".format(text_statistics.count_words(text)) try: n = raw_input("Enter N:") number = raw_input("Enter K:") print "Top {0} of {1}-grams is:".format(number, n) print text_statistics.top_ngrams(text, int(n), int(number)) except ValueError: print "Invalid input. Integer required!" if args.sort: try: with open(args.sort, "r") as file: ara = file.read().replace("\n", "").replace(" ", "").split(",") ara = map(int, ara) except IOError: print "File {} doesn't exist".format(args.sort) print "quick sort" sort.demo(ara, sort.quick_sort) print "merge sort" sort.demo(ara, sort.merge_sort) print "radix sort" sort.demo(ara, sort.radix_sort)