Module to handle spacemaps

Annotation For test.py
anonymous

Annotation For test.py

Lines of test.py from check-in bfe3da6658 that are changed by the sequence of edits moving toward check-in 886158fbf4:

                         1: def test():
                         2: 	def check(desc, correct, result):
                         3: 		if correct == result:
                         4: 			print('PASSED:', desc, '==' , result, '==', correct)
                         5: 		else:
                         6: 			print('FAILED:', desc, '==' , result, '!=', correct)
                         7: 
                         8: 	check('[4:8) - [0:2),[3:5)', SpaceMap({5:8}), SpaceMap({4:8}) - SpaceMap({0:2, 3:5}))
                         9: 	check('[4:8),[8:90)', SpaceMap({4:90}), SpaceMap({4:8, 8:90}))
                        10: 	check('[4:8),[80:90) - [0:2)', SpaceMap({4:8, 80:90}), SpaceMap({4:8, 80:90}) - SpaceMap({0:2}))
                        11: 	check('[4:8),[80:90) - [0:10)', SpaceMap({80:90}), SpaceMap({4:8, 80:90}) - SpaceMap({0:10}))
                        12: 	check('[4:8),[80:90) - [10:20)', SpaceMap({4:8, 80:90}), SpaceMap({4:8, 80:90}) - SpaceMap({10:20}))
                        13: 	check('[4:8),[80:90) - [10:20)', SpaceMap({4:8}), SpaceMap({4:8, 80:90}) - SpaceMap({10:100}))
                        14: 	check('[2:9) - [10:15),[20:48),[60:100)', SpaceMap({48: 60, 2: 10, 15: 20}), SpaceMap({2:90}) - SpaceMap({10:15, 20:48, 60:100}))
                        15: 	check('[2:5) and [10:15)', SpaceMap({2: 5, 10: 15}), SpaceMap({2: 5}) and SpaceMap({10: 15}))
                        16: 	return(None)
                        17: 
                        18: 	print(SpaceMap({4:8}) - SpaceMap({0:4}))
                        19: 	print(SpaceMap({4:8}) - SpaceMap({0:5}))
                        20: 	print(SpaceMap({4:8}) - SpaceMap({0:8}))
                        21: 	print(SpaceMap({4:8}) - SpaceMap({0:10}))
                        22: 	print(SpaceMap({4:8}) - SpaceMap({4:4}))
                        23: 	print(SpaceMap({4:8}) - SpaceMap({4:5}))
                        24: 	print(SpaceMap({4:8}) - SpaceMap({4:8}))
                        25: 	print(SpaceMap({4:8}) - SpaceMap({4:10}))
                        26: 	print(SpaceMap({4:8}) - SpaceMap({5:5}))
                        27: 	print(SpaceMap({4:8}) - SpaceMap({5:8}))
                        28: 	print(SpaceMap({4:8}) - SpaceMap({5:10}))
                        29: 	print(SpaceMap({4:8}) - SpaceMap({8:8}))
                        30: 	print(SpaceMap({4:8}) - SpaceMap({8:10}))
                        31: 	print(SpaceMap({4:8}) - SpaceMap({10:10}))