40 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| """Tests for error messages from YAML validation."""
 | |
| 
 | |
| import os
 | |
| import unittest
 | |
| 
 | |
| import WebHostLib.check
 | |
| 
 | |
| FACTORIO_YAML="""
 | |
| game: Factorio
 | |
| Factorio:
 | |
|   world_gen:
 | |
|     autoplace_controls:
 | |
|       coal:
 | |
|         richness: 1
 | |
|         frequency: {}
 | |
|         size: 1
 | |
| """
 | |
| 
 | |
| def yamlWithFrequency(f):
 | |
|     return FACTORIO_YAML.format(f)
 | |
| 
 | |
| 
 | |
| class TestFileValidation(unittest.TestCase):
 | |
|     def test_out_of_range(self):
 | |
|         results, _ = WebHostLib.check.roll_options({"bob.yaml": yamlWithFrequency(1000)})
 | |
|         self.assertIn("between 0 and 6", results["bob.yaml"])
 | |
| 
 | |
|     def test_bad_non_numeric(self):
 | |
|         results, _ = WebHostLib.check.roll_options({"bob.yaml": yamlWithFrequency("not numeric")})
 | |
|         self.assertIn("float", results["bob.yaml"])
 | |
|         self.assertIn("int", results["bob.yaml"])
 | |
| 
 | |
|     def test_good_float(self):
 | |
|         results, _ = WebHostLib.check.roll_options({"bob.yaml": yamlWithFrequency(1.0)})
 | |
|         self.assertIs(results["bob.yaml"], True)
 | |
| 
 | |
|     def test_good_int(self):
 | |
|         results, _ = WebHostLib.check.roll_options({"bob.yaml": yamlWithFrequency(1)})
 | |
|         self.assertIs(results["bob.yaml"], True)
 | 
