Loading tools/releasetools/rangelib.py +13 −0 Original line number Diff line number Diff line Loading @@ -71,6 +71,19 @@ class RangeSet(object): """ return cls(text) @classmethod def parse_raw(cls, text): """Parse a string generated by RangeSet.to_string_raw(). >>> RangeSet.parse_raw(RangeSet("0-9").to_string_raw()) <RangeSet("0-9")> """ raw = [int(i) for i in text.split(',')] assert raw[0] == len(raw[1:]), "Invalid raw string." return cls(data=raw[1:]) def _parse_internal(self, text): data = [] last = -1 Loading tools/releasetools/test_rangelib.py +14 −0 Original line number Diff line number Diff line Loading @@ -123,3 +123,17 @@ class RangeSetTest(unittest.TestCase): self.assertTrue(RangeSet(data=[2, 9, 30, 31, 31, 32, 35, 36]).monotonic) self.assertTrue(RangeSet(data=[0, 5, 5, 10]).monotonic) self.assertFalse(RangeSet(data=[5, 10, 0, 5]).monotonic) def test_parse_raw(self): self.assertEqual( RangeSet.parse_raw(RangeSet("0-9").to_string_raw()), RangeSet("0-9")) self.assertEqual(RangeSet.parse_raw( RangeSet("2-10 12").to_string_raw()), RangeSet("2-10 12")) self.assertEqual( RangeSet.parse_raw(RangeSet("11 2-10 12 1 0").to_string_raw()), RangeSet("11 2-10 12 1 0")) with self.assertRaises(AssertionError): RangeSet.parse_raw("4,0,10") Loading
tools/releasetools/rangelib.py +13 −0 Original line number Diff line number Diff line Loading @@ -71,6 +71,19 @@ class RangeSet(object): """ return cls(text) @classmethod def parse_raw(cls, text): """Parse a string generated by RangeSet.to_string_raw(). >>> RangeSet.parse_raw(RangeSet("0-9").to_string_raw()) <RangeSet("0-9")> """ raw = [int(i) for i in text.split(',')] assert raw[0] == len(raw[1:]), "Invalid raw string." return cls(data=raw[1:]) def _parse_internal(self, text): data = [] last = -1 Loading
tools/releasetools/test_rangelib.py +14 −0 Original line number Diff line number Diff line Loading @@ -123,3 +123,17 @@ class RangeSetTest(unittest.TestCase): self.assertTrue(RangeSet(data=[2, 9, 30, 31, 31, 32, 35, 36]).monotonic) self.assertTrue(RangeSet(data=[0, 5, 5, 10]).monotonic) self.assertFalse(RangeSet(data=[5, 10, 0, 5]).monotonic) def test_parse_raw(self): self.assertEqual( RangeSet.parse_raw(RangeSet("0-9").to_string_raw()), RangeSet("0-9")) self.assertEqual(RangeSet.parse_raw( RangeSet("2-10 12").to_string_raw()), RangeSet("2-10 12")) self.assertEqual( RangeSet.parse_raw(RangeSet("11 2-10 12 1 0").to_string_raw()), RangeSet("11 2-10 12 1 0")) with self.assertRaises(AssertionError): RangeSet.parse_raw("4,0,10")