# Workshop on Security Requirements-based Unit Testing 

## Due `Sep 27, Monday (AoE)`
 

## Tasks 


For this workshop you will practice developing code to satisfy software requirements. Two options: Python and non-Python 

### Tasks for Python Option  
For this workshop you will write code in both files `Workshop4.calc.test.py` and `Workshop4.simpleCalc.py`. I should be able 
to run `python Workshop4.calc.test.py` and all test cases related to the the following security requirements must pass. 

- Create two files called `Workshop4.calc.test.py` and `Workshop4.simpleCalc.py`
- Write code in `Workshop4.calc.test.py` and `Workshop4.simpleCalc.py` to satisfy the following requirements:
    - The calculator must be able to multiply and divide 
    - All methods related to mathemetical operations should sanitize input 
    - All methods related to mathemetical operations should handle division by zero exceptions 
    - All methods related to mathemetical operations should be fast 
- Show your output in `WORK4WORKSHOP#4.md`
- Write instructions on how to reproduce your work  in `WORK4WORKSHOP#4.md`
- Push your code and `WORK4WORKSHOP#4.md` in your repository . Share the link to your repository on iLearn. Don't forget to give me developer access. 



### Tasks for Non-Python Option  
- Create a Java Project with two files called `Workshop4.calc.test.java` and `Workshop4.simpleCalc.java`
For this workshop you will write code in both files `Workshop4.calc.test.java` and `Workshop4.simpleCalc.java`. I should be able 
to run your code and all test cases related to the the following security requirements must pass. 

- Write code in `Workshop4.calc.test.java` and `Workshop4.simpleCalc.java` to satisfy the following requirements:
    - The calculator must be able to multiply and divide 
    - All methods related to mathemetical operations should sanitize input 
    - All methods related to mathemetical operations should handle division by zero exceptions 
    - All methods related to mathemetical operations should be fast 
- Show your output in `WORK4WORKSHOP#4.md`
- Write instructions on how to reproduce your work  in `WORK4WORKSHOP#4.md`
- Push your code and `WORK4WORKSHOP#4.md` in your repository . Share the link to your repository on iLearn. Don't forget to give me developer access. 



