diff --git a/.vscode/exampleApp.py b/.vscode/exampleApp.py new file mode 100644 index 0000000000000000000000000000000000000000..f703090c689b63ae91172bc73c5e64240051fa0e --- /dev/null +++ b/.vscode/exampleApp.py @@ -0,0 +1,47 @@ +import sqlite3 +from flask import Flask, request, jsonify + +def create_app(conn): + app = Flask(__name__) + + def create_user(cursor, name, email): + cursor.execute('''CREATE TABLE IF NOT EXISTS users ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + name TEXT NOT NULL, + email TEXT NOT NULL)''') + + cursor.execute('''INSERT INTO users (name, email) VALUES (?, ?)''', (name, email)) + cursor.connection.commit() + + def get_user(cursor, name): + cursor.execute('''SELECT * FROM users WHERE name = ?''', (name,)) + row = cursor.fetchone() + if row: + return {'id': row[0], 'name': row[1], 'email': row[2]} + return None + + @app.route('/create_user', methods=['POST']) + def api_create_user(): + data = request.get_json() + name = data.get('name') + email = data.get('email') + + # Verwende 'with' für den Cursor, um sicherzustellen, dass er ordnungsgemäß verwendet wird + with conn.cursor() as cursor: + create_user(cursor, name, email) + return jsonify({'message': 'User has been created successfully'}), 201 + + @app.route('/get_user/<name>', methods=['GET']) + def api_get_user(name): + with conn.cursor() as cursor: + user = get_user(cursor, name) + if user: + return jsonify(user), 200 + return jsonify({'message': 'User not found'}), 404 + + return app + +if __name__ == '__main__': + conn = sqlite3.connect(':memory:') + app = create_app(conn) + app.run(debug=True, port=8001) diff --git a/.vscode/integrationTestExample1.py b/.vscode/integrationTestExample1.py new file mode 100644 index 0000000000000000000000000000000000000000..9f6bfd8c8539b19507f2ee56bd53da7327452bd1 --- /dev/null +++ b/.vscode/integrationTestExample1.py @@ -0,0 +1,2 @@ +import unittest +import sqlite3 diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000000000000000000000000000000000000..65d939f9dd562ac3e3ac485fd26ab46ed1873838 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,11 @@ +{ + "python.testing.unittestArgs": [ + "-v", + "-s", + ".", + "-p", + "*test.py" + ], + "python.testing.pytestEnabled": false, + "python.testing.unittestEnabled": true +} \ No newline at end of file diff --git a/test.py b/test.py new file mode 100644 index 0000000000000000000000000000000000000000..f027fd1b10d975e53ba24358ab5a225fe9bb3230 --- /dev/null +++ b/test.py @@ -0,0 +1,24 @@ +import unittest + +class Person: + def __init__(self, name, age): + self.name = name + self.age = age + + def adult(self): + return self.age >= 18 + +class TestPerson(unittest.TestCase): + def test_if_adult(self): + person1 = Person("Daniel", 24) + person2 = Person("Wasilios", 21) + person3 = Person("Goksis", 12) + + self.assertTrue(person1.adult()) + self.assertTrue(person2.adult()) + self.assertFalse(person3.adult()) + + + +if __name__ == "__main__": + unittest.main() diff --git a/unittestExample1.py b/unittestExample1.py new file mode 100644 index 0000000000000000000000000000000000000000..55c1a53b46497034d83be840ffffdb85ddf19586 --- /dev/null +++ b/unittestExample1.py @@ -0,0 +1,27 @@ +import unittest + +class Person: + def __init__(self, name, age): + self.name = name + self.age = age + + def adult(self): + return self.age >= 18 + +class TestPerson(unittest.TestCase): + def test_if_adult(self): + person1 = Person("Daniel", 24) + person2 = Person("Wasilios", 21) + person3 = Person("Goksis", 12) + + self.assertTrue(person1.adult()) + self.assertTrue(person2.adult()) + self.assertFalse(person3.adult()) + + + +if __name__ == "__main__": + unittest.main() + + + diff --git a/unittestExample2.py b/unittestExample2.py new file mode 100644 index 0000000000000000000000000000000000000000..84ff7a74104c0125ffeffb80612b17e1f2f028ff --- /dev/null +++ b/unittestExample2.py @@ -0,0 +1,37 @@ +import unittest + +def add(a, b): + return a + b + +def sub(a, b): + return a - b + +def mul(a, b): + return a * b + +def div(a, b): + return a / b + +class TestCalculation(unittest.TestCase): + def test_add(self): + self.assertEqual(add(1,2), 3) + self.assertEqual(add(8,7), 15) + self.assertEqual(add(200, 380), 580) + + def test_sub(self): + self.assertEqual(sub(2,1), 1) + self.assertEqual(sub(8,7), 1) + self.assertEqual(sub(380, 200), 180) + + def test_mul(self): + self.assertEqual(mul(2,5), 10) + self.assertEqual(mul(8,7), 56) + self.assertEqual(mul(3, 20), 60) + + def test_div(self): + self.assertEqual(div(10,5), 2) + self.assertEqual(div(8,1), 8) + self.assertEqual(div(200, 20), 10) + +if __name__ == "__main__": + unittest.main() \ No newline at end of file