def test_parse_093(self):
     self.assertEqual(
         TOTAL_LENGTH.parse('{"measurements":"TL=216.4 cm (+ 5 cm)" }'),
         [
             Trait(value=2164,
                   units="cm",
                   units_inferred=False,
                   start=17,
                   end=28)
         ],
     )
 def test_parse_034(self):
     self.assertEqual(
         TOTAL_LENGTH.parse(
             "f age class: adult; standard length: 63-107mm"),
         [
             Trait(value=[63, 107],
                   units="mm",
                   units_inferred=False,
                   start=20,
                   end=45)
         ],
     )
 def test_parse_086(self):
     self.assertEqual(
         TOTAL_LENGTH.parse(
             "measurement on tag for T. L. (141 mm) cannot be correct"),
         [
             Trait(value=141,
                   units="mm",
                   units_inferred=False,
                   start=23,
                   end=36)
         ],
     )
 def test_parse_036(self):
     self.assertEqual(
         TOTAL_LENGTH.parse(
             "age class: adult; standard length: 18.0-21.5mm"),
         [
             Trait(value=[18, 21.5],
                   units="mm",
                   units_inferred=False,
                   start=18,
                   end=46)
         ],
     )
 def test_parse_022(self):
     self.assertEqual(
         TOTAL_LENGTH.parse(
             "before Snout vent lengths range from 16 to 23 mm. noise"),
         [
             Trait(value=[16, 23],
                   units="mm",
                   units_inferred=False,
                   start=7,
                   end=48)
         ],
     )
 def test_parse_012(self):
     self.assertEqual(
         TOTAL_LENGTH.parse("t.l.= 2 feet 3.1 - 4.5 inches "),
         [
             Trait(
                 value=[688.34, 723.9],
                 units=["feet", "inches"],
                 units_inferred=False,
                 start=0,
                 end=29,
             )
         ],
     )
 def test_parse_094(self):
     self.assertEqual(
         TOTAL_LENGTH.parse("t.l.= 2 feet, 4.5 inches "),
         [
             Trait(
                 value=723.9,
                 units=["feet", "inches"],
                 units_inferred=False,
                 start=0,
                 end=24,
             )
         ],
     )
 def test_parse_024(self):
     self.assertEqual(
         TOTAL_LENGTH.parse("det_comments:31.5-58.3inTL"),
         [
             Trait(
                 value=[800.1, 1480.82],
                 units="in",
                 units_inferred=False,
                 start=13,
                 end=26,
             )
         ],
     )
 def test_parse_108(self):
     self.assertEqual(
         TOTAL_LENGTH.parse(
             shorten("""Body: 12 gm; Body and tail: 109 mm; Tail: 43 mm;
                 Hind Foot: 11 mm; Ear: 13 mm""")),
         [
             Trait(value=109,
                   units="mm",
                   units_inferred=False,
                   start=13,
                   end=34)
         ],
     )
 def test_parse_102(self):
     self.assertEqual(
         TOTAL_LENGTH.parse(
             '{"measurements":"Weight=42700 TotalLength=1487.5 '
             'HindFoot=400" }'),
         [
             Trait(value=1487.5,
                   units=None,
                   units_inferred=True,
                   start=30,
                   end=48)
         ],
     )
 def test_parse_100(self):
     self.assertEqual(
         TOTAL_LENGTH.parse(
             '{"measurements":"Weight=56700 TotalLength=1260 Tail=810 '
             'HindFoot=470" }'),
         [
             Trait(value=1260,
                   units=None,
                   units_inferred=True,
                   start=30,
                   end=46)
         ],
     )
 def test_parse_099(self):
     self.assertEqual(
         TOTAL_LENGTH.parse(
             '{"measurements":"TL=225 cm (265cm est) flukes cutoff", '
             '"weightInGrams":"299000.0" }'),
         [
             Trait(value=2250,
                   units="cm",
                   units_inferred=False,
                   start=17,
                   end=26)
         ],
     )
 def test_parse_032(self):
     self.assertEqual(
         TOTAL_LENGTH.parse('{"length":"20-29" }'),
         [
             Trait(
                 value=[20, 29],
                 ambiguous_key=True,
                 units=None,
                 units_inferred=True,
                 start=2,
                 end=16,
             )
         ],
     )
 def test_parse_031(self):
     self.assertEqual(
         TOTAL_LENGTH.parse('{"totalLengthInMM":"270-165-18-22-31", '),
         [
             Trait(
                 value=270,
                 units="mm_shorthand",
                 units_inferred=False,
                 is_shorthand=True,
                 start=2,
                 end=36,
             )
         ],
     )
 def test_parse_017(self):
     self.assertEqual(
         TOTAL_LENGTH.parse("another; length=8 mm"),
         [
             Trait(
                 value=8,
                 units="mm",
                 units_inferred=False,
                 ambiguous_key=True,
                 start=9,
                 end=20,
             )
         ],
     )
 def test_parse_015(self):
     self.assertEqual(
         TOTAL_LENGTH.parse("AJR-32   186-102-23-15  15.0g"),
         [
             Trait(
                 value=186,
                 units="mm_shorthand",
                 units_inferred=False,
                 is_shorthand=True,
                 start=9,
                 end=29,
             )
         ],
     )
 def test_parse_006(self):
     self.assertEqual(
         TOTAL_LENGTH.parse('"{"measurements":"308-190-45-20" }"'),
         [
             Trait(
                 value=308,
                 units="mm_shorthand",
                 units_inferred=False,
                 is_shorthand=True,
                 start=3,
                 end=31,
             )
         ],
     )
 def test_parse_010(self):
     self.assertEqual(
         TOTAL_LENGTH.parse("143-63-20-17=13"),
         [
             Trait(
                 value=143,
                 units="mm_shorthand",
                 units_inferred=False,
                 is_shorthand=True,
                 start=0,
                 end=15,
             )
         ],
     )
 def test_parse_106(self):
     self.assertEqual(
         TOTAL_LENGTH.parse("trap TL01  26g; 212-115-27-20=26g;"),
         [
             Trait(
                 value=212,
                 units="mm_shorthand",
                 units_inferred=False,
                 is_shorthand=True,
                 start=16,
                 end=33,
             )
         ],
     )
 def test_parse_043(self):
     self.assertEqual(
         TOTAL_LENGTH.parse('{"measurements":"159-?-22-16=21.0" }'),
         [
             Trait(
                 value=159,
                 units="mm_shorthand",
                 units_inferred=False,
                 is_shorthand=True,
                 start=2,
                 end=33,
             )
         ],
     )
 def test_parse_013(self):
     self.assertEqual(
         TOTAL_LENGTH.parse("2 ft. 3.1 - 4.5 in. "),
         [
             Trait(
                 value=[688.34, 723.9],
                 ambiguous_key=True,
                 units=["ft", "in"],
                 units_inferred=False,
                 start=0,
                 end=18,
             )
         ],
     )
 def test_parse_087(self):
     self.assertEqual(
         TOTAL_LENGTH.parse("L: 275. T: 65.; "),
         [
             Trait(
                 value=275,
                 units=None,
                 units_inferred=True,
                 ambiguous_key=True,
                 start=0,
                 end=6,
             )
         ],
     )
 def test_parse_078(self):
     self.assertEqual(
         TOTAL_LENGTH.parse("measurements:210-92-30 308-190-45-20"),
         [
             Trait(
                 value=308,
                 units="mm_shorthand",
                 units_inferred=False,
                 is_shorthand=True,
                 start=23,
                 end=36,
             )
         ],
     )
 def test_parse_077(self):
     self.assertEqual(
         TOTAL_LENGTH.parse('{"measurements":"210-92-30" }'),
         [
             Trait(
                 value=210,
                 units="mm_shorthand",
                 units_inferred=False,
                 is_shorthand=True,
                 start=2,
                 end=26,
             )
         ],
     )
 def test_parse_074(self):
     self.assertEqual(
         TOTAL_LENGTH.parse("308-190-45-20-11-22"),
         [
             Trait(
                 value=308,
                 units="mm_shorthand",
                 units_inferred=False,
                 is_shorthand=True,
                 start=0,
                 end=19,
             )
         ],
     )
 def test_parse_071(self):
     self.assertEqual(
         TOTAL_LENGTH.parse('"bottom":"rock?", "length":"278" }'),
         [
             Trait(
                 value=278,
                 ambiguous_key=True,
                 units=None,
                 units_inferred=True,
                 start=19,
                 end=31,
             )
         ],
     )
 def test_parse_028(self):
     self.assertEqual(
         TOTAL_LENGTH.parse(
             '{"time collected":"0712-0900", "length":"12.0" }'),
         [
             Trait(
                 value=12,
                 ambiguous_key=True,
                 units=None,
                 units_inferred=True,
                 start=32,
                 end=45,
             )
         ],
     )
 def test_parse_082(self):
     self.assertEqual(
         TOTAL_LENGTH.parse(
             "LENGTH 0 3/8 IN. WING CHORD 5.25 IN. TAIL 4.25 IN."),
         [
             Trait(
                 value=9.52,
                 ambiguous_key=True,
                 units="IN",
                 units_inferred=False,
                 start=0,
                 end=15,
             )
         ],
     )
 def test_parse_072(self):
     self.assertEqual(
         TOTAL_LENGTH.parse("[308]-190-45-20"),
         [
             Trait(
                 value=308,
                 units="mm_shorthand",
                 units_inferred=False,
                 is_shorthand=True,
                 estimated_value=True,
                 start=0,
                 end=15,
             )
         ],
     )
 def test_parse_065(self):
     self.assertEqual(
         TOTAL_LENGTH.parse(
             "LENGTH: 117MM. SOFT self.parserTS COLOR ON LABEL."),
         [
             Trait(
                 value=117,
                 units="MM",
                 units_inferred=False,
                 ambiguous_key=True,
                 start=0,
                 end=13,
             )
         ],
     )