Added Tests (#23)
* Fixed Spelling mistake * Added UnitTesting * Removed pycache * Updated Readme to include testing info * Added gititnore * Added Travis for Testing
This commit is contained in:
		
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
				
			|||||||
 | 
					#generated when running the tests
 | 
				
			||||||
 | 
					__pycache__/
 | 
				
			||||||
							
								
								
									
										7
									
								
								.travis.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								.travis.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
				
			|||||||
 | 
					language: python
 | 
				
			||||||
 | 
					python:
 | 
				
			||||||
 | 
					  - "3.7"
 | 
				
			||||||
 | 
					install:
 | 
				
			||||||
 | 
					  - pip install -r requirements.txt
 | 
				
			||||||
 | 
					script:
 | 
				
			||||||
 | 
					  - python -m unittest discover
 | 
				
			||||||
							
								
								
									
										11
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								README.md
									
									
									
									
									
								
							@@ -111,6 +111,17 @@ jobs:
 | 
				
			|||||||
          USERNAME: <username> # optional, it will automatically use the username of the owner of the repository who's executing the workflow.
 | 
					          USERNAME: <username> # optional, it will automatically use the username of the owner of the repository who's executing the workflow.
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Tests
 | 
				
			||||||
 | 
					### Running Tests
 | 
				
			||||||
 | 
					To run tests simply execute the following in the directory containing main.py: 
 | 
				
			||||||
 | 
					```python
 | 
				
			||||||
 | 
					python -m unittest discover
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					### Contributing Tests
 | 
				
			||||||
 | 
					These tests uses the python Unit testing framework, [unittest](https://docs.python.org/3/library/unittest.html)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Since this project is contained all within one file, 'main.py'. You can simply add a function to the TestMain class in tests/test_main.py, similar to the test_graph function.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Extras
 | 
					## Extras
 | 
				
			||||||
 | 
					
 | 
				
			||||||
1. If you want to add the week in the Header of your stats, you can add `HEAD_FLAG: true` in your workflow file like this
 | 
					1. If you want to add the week in the Header of your stats, you can add `HEAD_FLAG: true` in your workflow file like this
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								main.py
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								main.py
									
									
									
									
									
								
							@@ -70,7 +70,7 @@ def get_stats() -> str:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def decode_readme(data: str) -> str:
 | 
					def decode_readme(data: str) -> str:
 | 
				
			||||||
    '''Decode the contets of old readme'''
 | 
					    '''Decode the contents of old readme'''
 | 
				
			||||||
    decoded_bytes = base64.b64decode(data)
 | 
					    decoded_bytes = base64.b64decode(data)
 | 
				
			||||||
    return str(decoded_bytes, 'utf-8')
 | 
					    return str(decoded_bytes, 'utf-8')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										0
									
								
								tests/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								tests/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										31
									
								
								tests/test_main.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								tests/test_main.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,31 @@
 | 
				
			|||||||
 | 
					'''
 | 
				
			||||||
 | 
					Tests for the main.py
 | 
				
			||||||
 | 
					'''
 | 
				
			||||||
 | 
					from main import make_graph
 | 
				
			||||||
 | 
					import unittest
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class TestMain(unittest.TestCase):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def test_make_graph(self):
 | 
				
			||||||
 | 
					        '''Tests the make_graph function'''
 | 
				
			||||||
 | 
					        self.assertEqual(make_graph(0), "░░░░░░░░░░░░░░░░░░░░░░░░░",
 | 
				
			||||||
 | 
					                         "0% should return ░░░░░░░░░░░░░░░░░░░░░░░░░")
 | 
				
			||||||
 | 
					        self.assertEqual(make_graph(100), "█████████████████████████",
 | 
				
			||||||
 | 
					                         "100% should return █████████████████████████")
 | 
				
			||||||
 | 
					        self.assertEqual(make_graph(50), "████████████░░░░░░░░░░░░░",
 | 
				
			||||||
 | 
					                         "50% should return ████████████░░░░░░░░░░░░░")
 | 
				
			||||||
 | 
					        self.assertEqual(make_graph(25), "██████░░░░░░░░░░░░░░░░░░░",
 | 
				
			||||||
 | 
					                         "25% should return ██████░░░░░░░░░░░░░░░░░░░")
 | 
				
			||||||
 | 
					        self.assertEqual(make_graph(75), "██████████████████░░░░░░░",
 | 
				
			||||||
 | 
					                         "75% should return ██████████████████░░░░░░░")
 | 
				
			||||||
 | 
					        self.assertEqual(make_graph(3.14), "░░░░░░░░░░░░░░░░░░░░░░░░░",
 | 
				
			||||||
 | 
					                         "3.14% should return ░░░░░░░░░░░░░░░░░░░░░░░░░")
 | 
				
			||||||
 | 
					        self.assertEqual(make_graph(9.901), "██░░░░░░░░░░░░░░░░░░░░░░░",
 | 
				
			||||||
 | 
					                         "9.901% should return ██░░░░░░░░░░░░░░░░░░░░░░░")
 | 
				
			||||||
 | 
					        self.assertEqual(make_graph(87.5), "██████████████████████░░░",
 | 
				
			||||||
 | 
					                         "87.5% should return ██████████████████████░░░")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if __name__ == '__main__':
 | 
				
			||||||
 | 
					    unittest.main()
 | 
				
			||||||
		Reference in New Issue
	
	Block a user