diff --git a/.github/workflows/run_test.yml b/.github/workflows/run_test.yml new file mode 100644 index 00000000..c45bcbfc --- /dev/null +++ b/.github/workflows/run_test.yml @@ -0,0 +1,32 @@ +name: simple_calculator unit test + +on: [push] + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ["3.10"] + + steps: + - uses: actions/checkout@v3 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + python -m pip install --upgrade pip + if [ -f requirements.txt ]; then pip install -r requirements.txt; fi + - name: Lint with Ruff + run: | + pip install ruff + ruff --format=github --target-version=py310 . + continue-on-error: true + - name: Test with pytest + run: | + coverage run -m pytest tests/tests_1b.py -v -s + - name: Generate Coverage Report + run: | + coverage report -m \ No newline at end of file diff --git a/labs/lab_1/lab_1a.py b/labs/lab_1/lab_1a.py index 9d15ec83..91e9b73f 100644 --- a/labs/lab_1/lab_1a.py +++ b/labs/lab_1/lab_1a.py @@ -1,4 +1,4 @@ -""" +"This is to simulate a change made on a robot: robot_speed = 8 # m/s" lab_1a.py The first lab in the BWSI CSS course. To complete this lab, fill out the variable on line 10 @@ -8,9 +8,9 @@ def main(): print("Hello World!") - name = "" # TODO: Insert your name between the double quotes + name = "Ben Chang" print(f"{name}, Welcome to the CSS course!") - +print("Hey everyone. My name's Ben and I'm a junior from Massachusetts. My favorite school subject is physics. For fun, I like to read, watch TV, or go out to try random food with my friends. My favorite ice cream flavor is pistachio.") if __name__ == "__main__": main() diff --git a/labs/lab_1/lab_1b.py b/labs/lab_1/lab_1b.py index e58dd957..2ece1f25 100644 --- a/labs/lab_1/lab_1b.py +++ b/labs/lab_1/lab_1b.py @@ -38,17 +38,20 @@ def simple_calculator(operation: str, num1: float, num2: float) -> float: raise ValueError("Invalid operation. Please choose from 'add', 'subtract', 'multiply', or 'divide'.") def main(): - print(f"===== Simple Calculator =====") - - # Ask the user for sample input - num1 = float(input("Enter the first number: ")) - num2 = float(input("Enter the second number: ")) - operation = input("Enter the operation (add, subtract, multiply, divide): ").strip().lower() + while True: + try: + # Ask the user for sample input + num1 = float(input("Enter the first number: ")) + num2 = float(input("Enter the second number: ")) + operation = input("Enter the operation (add, subtract, multiply, divide): ").strip().lower() # Perform the calculation and display the result - result = simple_calculator(operation, num1, num2) - print(f"The result of {operation}ing {num1} and {num2} is: {result}") + result = simple_calculator(operation, num1, num2) + print(f"The result of {operation}ing {num1} and {num2} is: {result}") + break + except ValueError: + print("Error") if __name__ == "__main__":