mirror of
				https://github.com/MarioSpore/Grinch-AP.git
				synced 2025-10-21 20:21:32 -06:00 
			
		
		
		
	 09d8c4b912
			
		
	
	09d8c4b912
	
	
	
		
			
			* fix case sensitivity in server commands * improve ambiguous match breakout * worried about accidentally swapping team and slot * Remove now unused import
		
			
				
	
	
		
			41 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import unittest
 | |
| from MultiServer import Context, ServerCommandProcessor
 | |
| 
 | |
| 
 | |
| class TestResolvePlayerName(unittest.TestCase):
 | |
|     def test_resolve(self) -> None:
 | |
|         p = ServerCommandProcessor(Context("", 0, "", "", 0, 0, False))
 | |
|         p.ctx.player_names = {
 | |
|             (1, 1): "AAA",
 | |
|             (1, 2): "aBc",
 | |
|             (1, 3): "abC",
 | |
|         }
 | |
|         assert not p.resolve_player("abc"), "ambiguous name entry shouldn't resolve to player"
 | |
|         assert not p.resolve_player("Abc"), "ambiguous name entry shouldn't resolve to player"
 | |
|         assert p.resolve_player("aBc") == (1, 2, "aBc"), "matching case resolve"
 | |
|         assert p.resolve_player("abC") == (1, 3, "abC"), "matching case resolve"
 | |
|         assert not p.resolve_player("aB"), "partial name shouldn't resolve to player"
 | |
|         assert not p.resolve_player("abCD"), "incorrect name shouldn't resolve to player"
 | |
| 
 | |
|         p.ctx.player_names = {
 | |
|             (1, 1): "aaa",
 | |
|             (1, 2): "abc",
 | |
|             (1, 3): "abC",
 | |
|         }
 | |
|         assert p.resolve_player("abc") == (1, 2, "abc"), "matching case resolve"
 | |
|         assert not p.resolve_player("Abc"), "ambiguous name entry shouldn't resolve to player"
 | |
|         assert not p.resolve_player("aBc"), "ambiguous name entry shouldn't resolve to player"
 | |
|         assert p.resolve_player("abC") == (1, 3, "abC"), "matching case resolve"
 | |
| 
 | |
|         p.ctx.player_names = {
 | |
|             (1, 1): "AbcdE",
 | |
|             (1, 2): "abc",
 | |
|             (1, 3): "abCD",
 | |
|         }
 | |
|         assert p.resolve_player("abc") == (1, 2, "abc"), "matching case resolve"
 | |
|         assert p.resolve_player("abC") == (1, 2, "abc"), "case insensitive resolves when 1 match"
 | |
|         assert p.resolve_player("Abc") == (1, 2, "abc"), "case insensitive resolves when 1 match"
 | |
|         assert p.resolve_player("ABC") == (1, 2, "abc"), "case insensitive resolves when 1 match"
 | |
|         assert p.resolve_player("abcd") == (1, 3, "abCD"), "case insensitive resolves when 1 match"
 | |
|         assert not p.resolve_player("aB"), "partial name shouldn't resolve to player"
 |