58e024bde4d73a23200c387f5614261b5b6b6408
[libsub.git] / test / dcp_to_stl_binary_test.cc
1 /*
2     Copyright (C) 2014 Carl Hetherington <cth@carlh.net>
3
4     This program is free software; you can redistribute it and/or modify
5     it under the terms of the GNU General Public License as published by
6     the Free Software Foundation; either version 2 of the License, or
7     (at your option) any later version.
8
9     This program is distributed in the hope that it will be useful,
10     but WITHOUT ANY WARRANTY; without even the implied warranty of
11     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12     GNU General Public License for more details.
13
14     You should have received a copy of the GNU General Public License
15     along with this program; if not, write to the Free Software
16     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17
18 */
19
20 #include "test.h"
21 #include "dcp_reader.h"
22 #include "stl_binary_writer.h"
23 #include "collect.h"
24 #include <boost/test/unit_test.hpp>
25 #include <fstream>
26
27 using std::ifstream;
28 using std::list;
29
30 BOOST_AUTO_TEST_CASE (dcp_to_stl_binary_test1)
31 {
32         if (private_test.empty ()) {
33                 return;
34         }
35
36         boost::filesystem::path p = private_test / "fd586c30-6d38-48f2-8241-27359acf184c_sub.xml";
37         sub::write_stl_binary (
38                 sub::collect<list<sub::Subtitle> > (sub::DCPReader(p).subtitles ()),
39                 25,
40                 sub::LANGUAGE_FRENCH,
41                 "", "",
42                 "", "",
43                 "", "",
44                 "300514", "300514", 0,
45                 "GBR",
46                 "",
47                 "", "",
48                 "build/test/fd586c30-6d38-48f2-8241-27359acf184c_sub.stl"
49                 );
50
51         check_file (
52                 private_test / "fd586c30-6d38-48f2-8241-27359acf184c_sub.stl",
53                 "build/test/fd586c30-6d38-48f2-8241-27359acf184c_sub.stl"
54                 );
55 }
56
57 BOOST_AUTO_TEST_CASE (dcp_to_stl_binary_test2)
58 {
59         if (private_test.empty ()) {
60                 return;
61         }
62
63         boost::filesystem::path p = private_test / "93e8a6bf-499e-4d36-9350-a9bfa2e6758a_sub.xml";
64         sub::write_stl_binary (
65                 sub::collect<list<sub::Subtitle> > (sub::DCPReader(p).subtitles ()),
66                 25,
67                 sub::LANGUAGE_FRENCH,
68                 "", "",
69                 "", "",
70                 "", "",
71                 "300514", "300514", 0,
72                 "GBR",
73                 "",
74                 "", "",
75                 "build/test/93e8a6bf-499e-4d36-9350-a9bfa2e6758a_sub.stl"
76                 );
77
78         check_file (
79                 private_test / "93e8a6bf-499e-4d36-9350-a9bfa2e6758a_sub.stl",
80                 "build/test/93e8a6bf-499e-4d36-9350-a9bfa2e6758a_sub.stl"
81                 );
82 }
83
84 BOOST_AUTO_TEST_CASE (dcp_to_stl_binary_test3)
85 {
86         if (private_test.empty ()) {
87                 return;
88         }
89
90         boost::filesystem::path p = private_test / "Paddington_FTR_Subs_DE-FR_24fps_R1.xml";
91         sub::write_stl_binary (
92                 sub::collect<list<sub::Subtitle> > (sub::DCPReader(p).subtitles ()),
93                 25,
94                 sub::LANGUAGE_FRENCH,
95                 "", "",
96                 "", "",
97                 "", "",
98                 "300514", "300514", 0,
99                 "GBR",
100                 "",
101                 "", "",
102                 "build/test/Paddington_FTR_Subs_DE-FR_24fps_R1.stl"
103                 );
104
105         check_file (
106                 private_test / "Paddington_FTR_Subs_DE-FR_24fps_R1.stl",
107                 "build/test/Paddington_FTR_Subs_DE-FR_24fps_R1.stl"
108                 );
109 }
110
111 BOOST_AUTO_TEST_CASE (dcp_to_stl_binary_test4)
112 {
113         sub::write_stl_binary (
114                 sub::collect<list<sub::Subtitle> > (sub::DCPReader("test/data/test1.xml").subtitles ()),
115                 25,
116                 sub::LANGUAGE_FRENCH,
117                 "", "",
118                 "", "",
119                 "", "",
120                 "300514", "300514", 0,
121                 "GBR",
122                 "",
123                 "", "",
124                 "build/test/test1.stl"
125                 );
126 }
127
128 BOOST_AUTO_TEST_CASE (dcp_to_stl_binary_test5)
129 {
130         if (private_test.empty ()) {
131                 return;
132         }
133
134         boost::filesystem::path p = private_test / "065d39ff-6723-4dbf-a94f-849cde82f5e1_sub.mxf";
135         sub::write_stl_binary (
136                 sub::collect<list<sub::Subtitle> > (sub::DCPReader(p).subtitles ()),
137                 25,
138                 sub::LANGUAGE_FRENCH,
139                 "", "",
140                 "", "",
141                 "", "",
142                 "300514", "300514", 0,
143                 "GBR",
144                 "",
145                 "", "",
146                 "build/test/065d39ff-6723-4dbf-a94f-849cde82f5e1_sub.stl"
147                 );
148
149         check_file (
150                 private_test / "065d39ff-6723-4dbf-a94f-849cde82f5e1_sub.stl",
151                 "build/test/065d39ff-6723-4dbf-a94f-849cde82f5e1_sub.stl"
152                 );
153 }
154
155 BOOST_AUTO_TEST_CASE (dcp_to_stl_binary_test6)
156 {
157         if (private_test.empty ()) {
158                 return;
159         }
160
161         boost::filesystem::path p = private_test / "Paddington_FTR_FullSubs_DE_24fps.xml";
162         sub::write_stl_binary (
163                 sub::collect<list<sub::Subtitle> > (sub::DCPReader(p).subtitles ()),
164                 24,
165                 sub::LANGUAGE_GERMAN,
166                 "", "",
167                 "", "",
168                 "", "",
169                 "300514", "300514", 0,
170                 "GBR",
171                 "",
172                 "", "",
173                 "build/test/Paddington_FTR_FullSubs_DE_24fps.stl"
174                 );
175
176         check_file (
177                 private_test / "Paddington_FTR_FullSubs_DE_24fps.stl",
178                 "build/test/Paddington_FTR_FullSubs_DE_24fps.stl"
179                 );
180 }
181
182 BOOST_AUTO_TEST_CASE (dcp_to_stl_binary_test7)
183 {
184         boost::filesystem::path p = "test/data/test3.xml";
185         sub::write_stl_binary (
186                 sub::collect<list<sub::Subtitle> > (sub::DCPReader(p).subtitles ()),
187                 24,
188                 sub::LANGUAGE_GERMAN,
189                 "", "",
190                 "", "",
191                 "", "",
192                 "300514", "300514", 0,
193                 "GBR",
194                 "",
195                 "", "",
196                 "build/test/test3.stl"
197                 );
198
199         check_file (
200                 "test/ref/test3.stl",
201                 "build/test/test3.stl"
202                 );
203 }
204
205 BOOST_AUTO_TEST_CASE (dcp_to_stl_binary_test8)
206 {
207         boost::filesystem::path p = private_test / "91a30f25-b415-4ffe-9623-bdae43a381d3_sub.xml";
208         sub::write_stl_binary (
209                 sub::collect<list<sub::Subtitle> > (sub::DCPReader(p).subtitles()),
210                 24,
211                 sub::LANGUAGE_GERMAN,
212                 "", "",
213                 "", "",
214                 "", "",
215                 "300514", "300514", 0,
216                 "GBR",
217                 "",
218                 "", "",
219                 "build/test/91a30f25-b415-4ffe-9623-bdae43a381d3_sub.stl"
220                 );
221
222         check_file (
223                 private_test / "91a30f25-b415-4ffe-9623-bdae43a381d3_sub.stl",
224                 "build/test/91a30f25-b415-4ffe-9623-bdae43a381d3_sub.stl"
225                 );
226 }