import unittest

import sys
import os.path
sys.path.append(os.path.join(os.path.dirname(__file__), '..'))

from printprereleasesuffix import get_prerelease_suffix

class TestGetPreReleaseSuffix(unittest.TestCase):
  """
  Unit tests for the get_prerelease_suffix function
  """

  def test_alpha_1(self):
    """test 1a1 version string"""
    self.c = get_prerelease_suffix('1a1')
    self.assertEqual(self.c, ' 1 Alpha 1')

  def test_alpha_10(self):
    """test 1.2a10 version string"""
    self.c = get_prerelease_suffix('1.2a10')
    self.assertEqual(self.c, ' 1.2 Alpha 10')

  def test_beta_3(self):
    """test 1.2.3b3 version string"""
    self.c = get_prerelease_suffix('1.2.3b3')
    self.assertEqual(self.c, ' 1.2.3 Beta 3')

  def test_beta_30(self):
    """test 1.2.3.4b30 version string"""
    self.c = get_prerelease_suffix('1.2.3.4b30')
    self.assertEqual(self.c, ' 1.2.3.4 Beta 30')

  def test_release_1(self):
    """test 1.2.3.4 version string"""
    self.c = get_prerelease_suffix('1.2.3.4')
    self.assertEqual(self.c, '')

  def test_alpha_1_pre(self):
    """test 1.2a1pre version string"""
    self.c = get_prerelease_suffix('1.2a1pre')
    self.assertEqual(self.c, '')

  def test_beta_10_pre(self):
    """test 3.4b10pre version string"""
    self.c = get_prerelease_suffix('3.4b10pre')
    self.assertEqual(self.c, '')

  def test_pre_0(self):
    """test 1.2pre0 version string"""
    self.c = get_prerelease_suffix('1.2pre0')
    self.assertEqual(self.c, '')

  def test_pre_1_b(self):
    """test 1.2pre1b version string"""
    self.c = get_prerelease_suffix('1.2pre1b')
    self.assertEqual(self.c, '')

  def test_a_a(self):
    """test 1.2aa version string"""
    self.c = get_prerelease_suffix('1.2aa')
    self.assertEqual(self.c, '')

  def test_b_b(self):
    """test 1.2bb version string"""
    self.c = get_prerelease_suffix('1.2bb')
    self.assertEqual(self.c, '')

  def test_a_b(self):
    """test 1.2ab version string"""
    self.c = get_prerelease_suffix('1.2ab')
    self.assertEqual(self.c, '')

  def test_plus(self):
    """test 1.2+ version string """
    self.c = get_prerelease_suffix('1.2+')
    self.assertEqual(self.c, '')

if __name__ == '__main__':
  unittest.main()
