TIMBOVILL commited on
Commit
a227988
1 Parent(s): 04291b0

Upload test_UltraSinger.py

Browse files
Files changed (1) hide show
  1. test_UltraSinger.py +59 -0
test_UltraSinger.py ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Tests for UltraSinger.py"""
2
+
3
+ import unittest
4
+ import os
5
+ from unittest.mock import patch, MagicMock
6
+ from src.UltraSinger import format_separated_string
7
+ from src.UltraSinger import extract_year
8
+ from src.UltraSinger import parse_ultrastar_txt
9
+ from src import UltraSinger
10
+
11
+ class TestUltraSinger(unittest.TestCase):
12
+ def test_format_separated_string(self):
13
+
14
+ self.assertEqual(format_separated_string('rock,pop,rock-pop,'), 'Rock, Pop, Rock-Pop')
15
+ self.assertEqual(format_separated_string('rock;pop;rock-pop,'), 'Rock, Pop, Rock-Pop')
16
+ self.assertEqual(format_separated_string('rock/pop/rock-pop,'), 'Rock, Pop, Rock-Pop')
17
+ self.assertEqual(format_separated_string('rock,pop/rock-pop;80s,'), 'Rock, Pop, Rock-Pop, 80s')
18
+ self.assertEqual(format_separated_string('rock, pop, rock-pop, '), 'Rock, Pop, Rock-Pop')
19
+
20
+ def test_extract_year(self):
21
+ years = {extract_year("2023-12-31"), extract_year("2023-12-31 23:59:59"), extract_year("2023/12/31"),
22
+ extract_year("2023\\12\\31"), extract_year("2023.12.31"), extract_year("2023 12 31"),
23
+ extract_year("12-31-2023"), extract_year("12/31/2023"), extract_year("12\\31\\2023"),
24
+ extract_year("12.31.2023"), extract_year("12 31 2023"), extract_year("12-2023"),
25
+ extract_year("12/2023"), extract_year("2023")}
26
+
27
+ for year in years:
28
+ self.assertEqual(year, "2023")
29
+
30
+ @patch("src.UltraSinger.ultrastar_parser.parse_ultrastar_txt")
31
+ @patch("src.UltraSinger.ultrastar_converter.ultrastar_bpm_to_real_bpm")
32
+ @patch("src.UltraSinger.os.path.dirname")
33
+ @patch("src.UltraSinger.os_helper.create_folder")
34
+ def test_parse_ultrastar_txt(self, mock_create_folder,
35
+ mock_dirname, mock_ultrastar_bpm_to_real_bpm,
36
+ mock_parse_ultrastar_txt):
37
+ # Arrange
38
+ mock_parse_ultrastar_txt.return_value = MagicMock(mp3="test.mp3",
39
+ artist=" Test Artist ", # Also test leading and trailing whitespaces
40
+ title=" Test Title ") # Also test leading and trailing whitespaces
41
+ mock_ultrastar_bpm_to_real_bpm.return_value = 120.0
42
+ mock_dirname.return_value = os.path.join("path", "to", "input")
43
+ UltraSinger.Settings.output_file_path = os.path.join("path", "to", "output")
44
+ mock_create_folder.return_value = None
45
+
46
+ # Act
47
+ result = parse_ultrastar_txt()
48
+
49
+ # Assert
50
+ self.assertEqual(result, ("test",
51
+ 120.0,
52
+ os.path.join("path", "to", "output", "Test Artist - Test Title"),
53
+ os.path.join("path", "to", "input", "test.mp3"),
54
+ mock_parse_ultrastar_txt.return_value))
55
+
56
+ mock_parse_ultrastar_txt.assert_called_once()
57
+ mock_ultrastar_bpm_to_real_bpm.assert_called_once()
58
+ mock_dirname.assert_called_once()
59
+ mock_create_folder.assert_called_once()