예제 #1
0
    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)))
예제 #2
0
    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)
예제 #3
0
    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)
예제 #4
0
    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)
예제 #5
0
 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)
예제 #6
0
    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))
예제 #7
0
    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))
예제 #8
0
    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)
예제 #10
0
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)