-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathtests.py
92 lines (71 loc) · 3.48 KB
/
tests.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
import unittest
from pathlib import Path
from video_speed import video_speed
from moviepy.editor import VideoFileClip, AudioFileClip
from main import create_file_name
from fadein_video import fadein_video
from fadeout_video import fadeout_video
from rotate_video import rotate_video
from clip_video import clip_video
class VideoEditorTests(unittest.TestCase):
def setUp(self):
self.test_video = str(Path("test_folder", "VID_20220928_111008.mp4").absolute())
self.output_video = str(Path("test_folder", "VID_20220928_111008(out).mp4").absolute())
def test_video_speed_x2(self):
speed_factor = 2
video_speed(self.test_video, self.output_video, speed_factor)
clip = VideoFileClip(self.test_video)
clip_x2 = VideoFileClip(self.output_video)
actual = clip_x2.duration
expected = clip.duration / speed_factor
self.assertAlmostEqual(actual, expected, 1)
def test_video_speed_audio_x2(self):
speed_factor = 2
video_speed(self.test_video, self.output_video, speed_factor)
audio = AudioFileClip(self.test_video)
audio_x2 = AudioFileClip(self.output_video)
actual = audio_x2.duration
expected = audio.duration / speed_factor
self.assertAlmostEqual(actual, expected, 1)
def test_with_wrong_file(self):
speed_factor = 2
test_video = str(Path("test_folder", "VID_20220928_11100.mp4").absolute())
self.assertRaises(OSError, video_speed, test_video, self.output_video, speed_factor)
def test_with_wrong_speed_factor(self):
speed_factor = -1
self.assertRaises(ValueError, video_speed, self.test_video, self.output_video, speed_factor)
def test_create_file_name(self):
path_dir = Path("video-editor", "test_folder").absolute()
file_name = create_file_name(path_dir, 10, '.mp4')
file_name2 = create_file_name(path_dir, 10, '.mp4')
self.assertNotEqual(file_name, file_name2)
def test_fadein_video(self):
fadein_video(self.test_video, self.output_video, 2)
speed1 = VideoFileClip(self.test_video).duration
speed2 = VideoFileClip(self.output_video).duration
self.assertAlmostEqual(speed1, speed2, 1)
def test_fadeout_video(self):
fadeout_video(self.test_video, self.output_video, 2)
speed1 = VideoFileClip(self.test_video).duration
speed2 = VideoFileClip(self.output_video).duration
self.assertAlmostEqual(speed1, speed2, 1)
def test_rotate_video(self):
rotate_video(self.test_video, self.output_video, 45)
speed1 = VideoFileClip(self.test_video).duration
speed2 = VideoFileClip(self.output_video).duration
self.assertAlmostEqual(speed1, speed2, 1)
def test_rotate_video2(self):
self.assertRaises(TypeError, rotate_video, self.test_video, self.output_video, "45")
def test_fadeout_video2(self):
fadeout_video(self.test_video, self.output_video, -1)
speed1 = VideoFileClip(self.test_video).duration
speed2 = VideoFileClip(self.output_video).duration
self.assertAlmostEqual(speed1, speed2, 1)
def test_fadein_video2(self):
self.assertRaises(TypeError, fadein_video, self.test_video, self.output_video, "2")
def test_clip_video(self):
self.assertRaises(OSError, clip_video, self.test_video, "1", "20")
def test_clip_video2(self):
self.assertRaises(AttributeError, clip_video, self.test_video, 1, 20)
if __name__ == "__main__":
unittest.main()