﻿import unittest
from src.part1_code import 檔案分類


class 分類檔名測試(unittest.TestCase):
	def setUp(self):
		pass
	def tearDown(self):
		pass

	def test_分類數字起頭(self):
					原來 = ["0501-230001-20110704.trs",
					'0501-230001-20110704-20110917-20111229.trs',
					'0501-230001-20110704-20110917.trs'
					]
					
					結果 = [{'name':'0501-230001',
					'0':'20110704 0501-230001-20110704.trs',
					'1':'20110917 0501-230001-20110704-20110917.trs',
					'2':'20111229 0501-230001-20110704-20110917-20111229.trs'}]
					self.assertEqual(檔案分類(原來), 結果)


	def test_分類數字起頭_2(self):
					原來 = ["0501-230001-20110704.trs",
				'0501-230001-20110704-20110917-20111229.trs',
				'0501-230001-20110704-20110917.trs',
				'0513-230001-20110723.trs'
				]
				
					結果 = [{'name':'0501-230001',
				'0':'20110704 0501-230001-20110704.trs',
				'1':'20110917 0501-230001-20110704-20110917.trs',
				'2':'20111229 0501-230001-20110704-20110917-20111229.trs'},
				{'name':'0513-230001',
				 '0':'20110723 0513-230001-20110723.trs'}]
					self.assertEqual(檔案分類(原來), 結果)


	def test_分類英文小寫起頭(self):
					原來 = ['blktc01-zy-20130831-20131005.trs',
				'blktc01-zy-20130831.trs',
				'blktc03-zy-20130831-20131005-20140220.trs',
				'blktc03-zy-20130831-20131005.trs',
				'blktc03-zy-20130831.trs'
				]
				
					結果 = [{'name':'blktc01-zy',
				'0':'20130831 blktc01-zy-20130831.trs',
				'1':'20131005 blktc01-zy-20130831-20131005.trs'},
				{'name':'blktc03-zy',
				'0':'20130831 blktc03-zy-20130831.trs',
				'1':'20131005 blktc03-zy-20130831-20131005.trs',
				'2':'20140220 blktc03-zy-20130831-20131005-20140220.trs'}]
					self.assertEqual(檔案分類(原來), 結果)


	def test_分類英文大寫起頭(self):
				原來 = ['PTSN_20130105-zy-20130110-20130217-20130226.trs',
				'PTSN_20130105-zy-20130110-20130217.trs',
				'PTSN_20130105-zy-20130110.trs',
				'PTSN_20130120-zy-20130309.trs'
				]
				
				結果 = [{'name':'PTSN_20130105-zy',
				'0':'20130110 PTSN_20130105-zy-20130110.trs',
				'1':'20130217 PTSN_20130105-zy-20130110-20130217.trs',
				'2':'20130226 PTSN_20130105-zy-20130110-20130217-20130226.trs'},
				{'name':'PTSN_20130120-zy',
				'0':'20130309 PTSN_20130120-zy-20130309.trs'}]
				self.assertEqual(檔案分類(原來), 結果)


	def test_分類符號起頭(self):
		原來 = ['_Chen Tsau_30-20131103-20131115-20131216.trs',
		'_Chen Tsau_30-20131103-20131115.trs',
		'_Chen Tsau_30-20131103.trs',
		'_Chen Tsau_40-20131119-20131208-20131225.trs',
		'_Chen Tsau_40-20131119-20131208.trs',
		'_Chen Tsau_40-20131119.trs']

		結果 = [{'name':'_Chen Tsau_30',
		 '0':'20131103 _Chen Tsau_30-20131103.trs',
		 '1':'20131115 _Chen Tsau_30-20131103-20131115.trs',
		 '2':'20131216 _Chen Tsau_30-20131103-20131115-20131216.trs'},
		{'name':'_Chen Tsau_40',
		 '0':'20131119 _Chen Tsau_40-20131119.trs',
		 '1':'20131208 _Chen Tsau_40-20131119-20131208.trs',
		 '2':'20131225 _Chen Tsau_40-20131119-20131208-20131225.trs'}]
		self.assertEqual(檔案分類(原來), 結果)
		
		
	def test_錯誤日期格式(self):
				原來 = ['PTSN_20130105-zy-130110-130217-130226.trs',
                'PTSN_20130105-zy-130110-130217.trs',
                'PTSN_20130105-zy-130110.trs',
                'PTSN_20130120-zy-130309.trs'
				]
				
				結果 = ["錯誤的日期格式"]
				#self.assertEqual(檔案分類(原來), 結果)



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







