示例#1
0
 def test_is_release(self):
     version = Pep440Version(development=42)
     self.assertFalse(version.is_release)
     version = Pep440Version(None, 4, 2)
     self.assertTrue(version.is_release)
     version = Pep440Version(release4=11)
     self.assertTrue(version.is_release)
示例#2
0
 def test_epoch(self):
     version = Pep440Version(4, 3, 11, 8)
     self.assertEqual("4!3.11.8", str(version))
     self.assertEqual(4, version.epoch)
     self.assertEqual(3, version.release1)
     self.assertEqual(11, version.release2)
     self.assertEqual(8, version.release3)
示例#3
0
 def test_init_string_epoch(self):
     version = Pep440Version("1!6.48.2")
     self.assertEqual(1, version.epoch)
     self.assertEqual(6, version.release1)
     self.assertEqual(48, version.release2)
     self.assertEqual(2, version.release3)
     self.assertEqual("1!6.48.2", str(version))
示例#4
0
 def test_four_segments(self):
     version = Pep440Version(release1=7,
                             release2=1,
                             release3=26,
                             release4=5)
     self.assertEqual("7.1.26.5", str(version))
     self.assertEqual(7, version.release1)
     self.assertEqual(1, version.release2)
     self.assertEqual(26, version.release3)
     self.assertEqual(5, version.release4)
示例#5
0
 def test_render(self):
     version = Pep440Version(development=42)
     self.assertEqual(str(version), version.render())
     self.assertEqual("0.dev42", version.render())
     self.assertEqual("0.0.dev42", version.render(min_release_segments=2))
     self.assertEqual("0.0.0.dev42", version.render(min_release_segments=3))
     self.assertEqual("0!0.0.0.0.0.0.dev42",
                      version.render(exclude_defaults=False))
     version = version.replace(epoch=0)
     self.assertEqual("0!0.0.dev42", version.render(min_release_segments=2))
示例#6
0
 def test_development_only(self):
     version = Pep440Version(development=666)
     self.assertEqual("0.dev666", str(version))
     self.assertEqual(0, version.epoch)
     self.assertEqual(0, version.release1)
     self.assertEqual(0, version.release2)
     self.assertEqual(0, version.release3)
     self.assertEqual(0, version.release4)
     self.assertEqual(0, version.release5)
     self.assertEqual(0, version.release6)
     self.assertEqual(None, version.pre_release)
     self.assertEqual(None, version.post_release)
     self.assertEqual(666, version.development)
示例#7
0
 def test_one_segment(self):
     version = Pep440Version(release1=4)
     self.assertEqual("4", str(version))
     self.assertEqual(0, version.epoch)
     self.assertEqual(4, version.release1)
     self.assertEqual(0, version.release2)
     self.assertEqual(0, version.release3)
     self.assertEqual(0, version.release4)
     self.assertEqual(0, version.release5)
     self.assertEqual(0, version.release6)
     self.assertEqual(None, version.pre_release)
     self.assertEqual(None, version.post_release)
     self.assertEqual(None, version.development)
示例#8
0
 def test_development(self):
     version = Pep440Version(release1=2112, development=90125)
     self.assertEqual("2112.dev90125", str(version))
     self.assertEqual(0, version.epoch)
     self.assertEqual(2112, version.release1)
     self.assertEqual(0, version.release2)
     self.assertEqual(0, version.release3)
     self.assertEqual(0, version.release4)
     self.assertEqual(0, version.release5)
     self.assertEqual(0, version.release6)
     self.assertEqual(None, version.pre_release)
     self.assertEqual(None, version.post_release)
     self.assertEqual(90125, version.development)
示例#9
0
 def test_init_string_post_release_separator(self):
     expected = "1.2.post3"
     self.assertEqual(expected, str(Pep440Version("1.2post3")))
     self.assertEqual(expected, str(Pep440Version("1.2.post3")))
     self.assertEqual(expected, str(Pep440Version("1.2-post3")))
     expected = "1.2.post0"
     self.assertEqual(expected, str(Pep440Version("1.2post")))
     self.assertEqual(expected, str(Pep440Version("1.2.post")))
     self.assertEqual(expected, str(Pep440Version("1.2-post")))
示例#10
0
 def test_init_string_development_separator(self):
     expected = "1.2.dev3"
     self.assertEqual(expected, str(Pep440Version("1.2dev3")))
     self.assertEqual(expected, str(Pep440Version("1.2.dev3")))
     self.assertEqual(expected, str(Pep440Version("1.2-dev3")))
     expected = "1.2.dev0"
     self.assertEqual(expected, str(Pep440Version("1.2dev")))
     self.assertEqual(expected, str(Pep440Version("1.2.dev")))
     self.assertEqual(expected, str(Pep440Version("1.2-dev")))
示例#11
0
 def test_post_release(self):
     version = Pep440Version(None, 3, 11, 8, pre_release=('a', 2))
     self.assertEqual("3.11.8a2", str(version))
     self.assertEqual(0, version.epoch)
     self.assertEqual(3, version.release1)
     self.assertEqual(11, version.release2)
     self.assertEqual(8, version.release3)
     self.assertEqual(0, version.release4)
     self.assertEqual(0, version.release5)
     self.assertEqual(0, version.release6)
     self.assertEqual(('a', 2), version.pre_release)
     self.assertEqual('a', version.pre_release.level)
     self.assertEqual(2, version.pre_release.serial)
     self.assertEqual(None, version.post_release)
     self.assertEqual(None, version.development)
示例#12
0
 def test_pre_and_post_release_and_development(self):
     version = Pep440Version(1,
                             3,
                             11,
                             8,
                             pre_release=('a', 2),
                             post_release=5,
                             development=74)
     self.assertEqual("1!3.11.8a2.post5.dev74", str(version))
     self.assertEqual(1, version.epoch)
     self.assertEqual(3, version.release1)
     self.assertEqual(11, version.release2)
     self.assertEqual(8, version.release3)
     self.assertEqual(0, version.release4)
     self.assertEqual(0, version.release5)
     self.assertEqual(0, version.release6)
     self.assertEqual(('a', 2), version.pre_release)
     self.assertEqual('a', version.pre_release.level)
     self.assertEqual(2, version.pre_release.serial)
     self.assertEqual(5, version.post_release)
     self.assertEqual(74, version.development)
示例#13
0
 def test_init_string_alpha_separator(self):
     indicators = ("a", "A", "alpha", "alpHA", "Alpha", "AlPHa", "ALPHA")
     expected = "1.2a3"
     for indicator in indicators:
         self.assertEqual(expected,
                          str(Pep440Version("1.2{}3".format(indicator))))
         self.assertEqual(expected,
                          str(Pep440Version("1.2.{}3".format(indicator))))
         self.assertEqual(expected,
                          str(Pep440Version("1.2-{}3".format(indicator))))
     expected = "1.2a0"
     for indicator in indicators:
         self.assertEqual(expected,
                          str(Pep440Version("1.2{}".format(indicator))))
         self.assertEqual(expected,
                          str(Pep440Version("1.2.{}".format(indicator))))
         self.assertEqual(expected,
                          str(Pep440Version("1.2-{}".format(indicator))))
示例#14
0
 def test_init_string_beta_separator(self):
     indicators = ("b", "B", "beta", "beTA", "Beta", "BeTa", "BETA")
     expected = "1.2b3"
     for indicator in indicators:
         self.assertEqual(expected,
                          str(Pep440Version("1.2{}3".format(indicator))))
         self.assertEqual(expected,
                          str(Pep440Version("1.2.{}3".format(indicator))))
         self.assertEqual(expected,
                          str(Pep440Version("1.2-{}3".format(indicator))))
     expected = "1.2b0"
     for indicator in indicators:
         self.assertEqual(expected,
                          str(Pep440Version("1.2{}".format(indicator))))
         self.assertEqual(expected,
                          str(Pep440Version("1.2.{}".format(indicator))))
         self.assertEqual(expected,
                          str(Pep440Version("1.2-{}".format(indicator))))
示例#15
0
 def test_init_string_release_candidate_separator(self):
     indicators = ("c", "C", "rc", "RC", "rC", "Rc")
     expected = "1.2c3"
     for indicator in indicators:
         self.assertEqual(expected,
                          str(Pep440Version("1.2{}3".format(indicator))))
         self.assertEqual(expected,
                          str(Pep440Version("1.2.{}3".format(indicator))))
         self.assertEqual(expected,
                          str(Pep440Version("1.2-{}3".format(indicator))))
     expected = "1.2c0"
     for indicator in indicators:
         self.assertEqual(expected,
                          str(Pep440Version("1.2{}".format(indicator))))
         self.assertEqual(expected,
                          str(Pep440Version("1.2.{}".format(indicator))))
         self.assertEqual(expected,
                          str(Pep440Version("1.2-{}".format(indicator))))
示例#16
0
 def test_two_segments(self):
     version = Pep440Version(release1=8, release2=2)
     self.assertEqual("8.2", str(version))
     self.assertEqual(8, version.release1)
     self.assertEqual(2, version.release2)
示例#17
0
 def test_three_segments(self):
     version = Pep440Version(None, 3, 11, 8)
     self.assertEqual("3.11.8", str(version))
     self.assertEqual(3, version.release1)
     self.assertEqual(11, version.release2)
     self.assertEqual(8, version.release3)
示例#18
0
 def test_render_exclude_defaults_callback_scope(self):
     version = Pep440Version()
     self.assertTrue(version._render_exclude_defaults_callback(0, [1, 2]))
     self.assertFalse(version._render_exclude_defaults_callback(1, [1, 2]))
示例#19
0
 def test_defaulted_segments(self):
     version = Pep440Version(release4=5)
     self.assertEqual("0.0.0.5", str(version))