mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-31 11:42:30 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			42 lines
		
	
	
	
		
			663 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
	
		
			663 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| # -*- coding: utf-8 -*-
 | |
| from pyosys.libyosys import StringSet, StringPool
 | |
| 
 | |
| for cls in [StringSet, StringPool]:
 | |
| 	print(f"Testing {cls.__name__}...")
 | |
| 	A = cls()
 | |
| 	A.add("a")
 | |
| 
 | |
| 	B = cls()
 | |
| 	B = A | {"b"}
 | |
| 
 | |
| 	assert A < B
 | |
| 	assert A <= B
 | |
| 
 | |
| 	A.add("b")
 | |
| 
 | |
| 	assert A == B
 | |
| 	assert A <= B
 | |
| 	assert not A < B
 | |
| 
 | |
| 	A.add("c")
 | |
| 
 | |
| 	assert A > B
 | |
| 
 | |
| 	A &= B
 | |
| 	assert A == B
 | |
| 
 | |
| 	Ø = A - B
 | |
| 	assert len(Ø) == 0
 | |
| 
 | |
| 	C = cls({"A", "B", "C"})
 | |
| 	D = cls()
 | |
| 	C |= {"A", "B", "C"}
 | |
| 	D |= {"C", "D", "E"}
 | |
| 	c_symdiff_d = (C ^ D)
 | |
| 	assert c_symdiff_d == {"A", "B", "D", "E"} # compare against iterable
 | |
| 
 | |
| 	repr_test = eval(repr(c_symdiff_d))
 | |
| 	assert c_symdiff_d == repr_test # compare against self
 | |
| 
 | |
| 
 | |
| print("Done.")
 |