mirror of
				https://github.com/MarioSpore/Grinch-AP.git
				synced 2025-10-21 20:21:32 -06:00 
			
		
		
		
	
		
			
	
	
		
			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" |