You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							27 lines
						
					
					
						
							1.5 KiB
						
					
					
				
			
		
		
	
	
							27 lines
						
					
					
						
							1.5 KiB
						
					
					
				| from collections import namedtuple
 | |
| 
 | |
| from openpilot.tools.lib.route import SegmentName
 | |
| 
 | |
| class TestRouteLibrary:
 | |
|   def test_segment_name_formats(self):
 | |
|     Case = namedtuple('Case', ['input', 'expected_route', 'expected_segment_num', 'expected_data_dir'])
 | |
| 
 | |
|     cases = [ Case("a2a0ccea32023010|2023-07-27--13-01-19", "a2a0ccea32023010|2023-07-27--13-01-19", -1, None),
 | |
|               Case("a2a0ccea32023010/2023-07-27--13-01-19--1", "a2a0ccea32023010|2023-07-27--13-01-19", 1, None),
 | |
|               Case("a2a0ccea32023010|2023-07-27--13-01-19/2", "a2a0ccea32023010|2023-07-27--13-01-19", 2, None),
 | |
|               Case("a2a0ccea32023010/2023-07-27--13-01-19/3", "a2a0ccea32023010|2023-07-27--13-01-19", 3, None),
 | |
|               Case("/data/media/0/realdata/a2a0ccea32023010|2023-07-27--13-01-19", "a2a0ccea32023010|2023-07-27--13-01-19", -1, "/data/media/0/realdata"),
 | |
|               Case("/data/media/0/realdata/a2a0ccea32023010|2023-07-27--13-01-19--1", "a2a0ccea32023010|2023-07-27--13-01-19", 1, "/data/media/0/realdata"),
 | |
|               Case("/data/media/0/realdata/a2a0ccea32023010|2023-07-27--13-01-19/2", "a2a0ccea32023010|2023-07-27--13-01-19", 2, "/data/media/0/realdata") ]
 | |
| 
 | |
|     def _validate(case):
 | |
|       route_or_segment_name = case.input
 | |
| 
 | |
|       s = SegmentName(route_or_segment_name, allow_route_name=True)
 | |
| 
 | |
|       assert str(s.route_name) == case.expected_route
 | |
|       assert s.segment_num == case.expected_segment_num
 | |
|       assert s.data_dir == case.expected_data_dir
 | |
| 
 | |
|     for case in cases:
 | |
|       _validate(case)
 | |
| 
 |