Advertisement
Guest User

Untitled

a guest
Dec 17th, 2017
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 31.54 KB | None | 0 0
  1. import static org.junit.Assert.*;
  2.  
  3. import org.junit.Before;
  4. import org.junit.Test;
  5.  
  6. public class SubtitleSeqFactoryStudentTest {
  7.  
  8. class TimeSt implements Time {
  9. private int hh;
  10. private int mm;
  11. private int ss;
  12. private int ms;
  13.  
  14. public TimeSt(int hh, int mm, int ss, int ms) {
  15. this.hh = hh;
  16. this.mm = mm;
  17. this.ss = ss;
  18. this.ms = ms;
  19. }
  20.  
  21. public TimeSt(String hh, String mm, String ss, String ms) {
  22. this.hh = Integer.parseInt(hh);
  23. this.mm = Integer.parseInt(mm);
  24. this.ss = Integer.parseInt(ss);
  25. this.ms = Integer.parseInt(ms);
  26. }
  27.  
  28. @Override
  29. public int getHH() {
  30. return hh;
  31. }
  32.  
  33. @Override
  34. public int getMM() {
  35. return mm;
  36. }
  37.  
  38. @Override
  39. public int getSS() {
  40. return ss;
  41. }
  42.  
  43. @Override
  44. public int getMS() {
  45. return ms;
  46. }
  47.  
  48. @Override
  49. public void setHH(int hh) {
  50. this.hh = hh;
  51. }
  52.  
  53. @Override
  54. public void setMM(int mm) {
  55. this.mm = mm;
  56. }
  57.  
  58. @Override
  59. public void setSS(int ss) {
  60. this.ss = ss;
  61. }
  62.  
  63. @Override
  64. public void setMS(int ms) {
  65. this.ms = ms;
  66. }
  67. }
  68.  
  69. class SubtitleSt implements Subtitle {
  70. private Time startTime;
  71. private Time endTime;
  72. private String text;
  73.  
  74. public SubtitleSt(Time startTime, Time endTime, String text) {
  75. this.startTime = startTime;
  76. this.endTime = endTime;
  77. this.text = text;
  78. }
  79.  
  80. @Override
  81. public Time getStartTime() {
  82. return startTime;
  83. }
  84.  
  85. @Override
  86. public Time getEndTime() {
  87. return endTime;
  88. }
  89.  
  90. @Override
  91. public String getText() {
  92. return text;
  93. }
  94.  
  95. @Override
  96. public void setStartTime(Time startTime) {
  97. this.startTime = startTime;
  98. }
  99.  
  100. @Override
  101. public void setEndTime(Time endTime) {
  102. this.endTime = endTime;
  103. }
  104.  
  105. @Override
  106. public void setText(String text) {
  107. this.text = text;
  108. }
  109. }
  110.  
  111. protected boolean areEqual(Time t1, Time t2) {
  112. if ((t1 == null) != (t2 == null)) {
  113. return false;
  114. }
  115. if (t1 == null) {
  116. return true;
  117. }
  118.  
  119. return (t1.getHH() == t2.getHH()) && (t1.getMM() == t2.getMM()) && (t1.getSS() == t2.getSS()) && (t1.getMS() == t2.getMS());
  120. }
  121.  
  122. protected boolean areEqual(Subtitle st1, Subtitle st2) {
  123. if ((st1 == null) != (st2 == null)) {
  124. return false;
  125. }
  126. if (st1 == null) {
  127. return true;
  128. }
  129. return areEqual(st1.getStartTime(), st2.getStartTime()) && areEqual(st1.getEndTime(), st2.getEndTime()) && st1.getText().equals(st2.getText());
  130. }
  131.  
  132. protected boolean areEqual(List<Subtitle> l1, List<Subtitle> l2) {
  133. if (l1 == l2) {
  134. return true;
  135. }
  136. if ((l1 == null) || (l2 == null)) {
  137. return false;
  138. }
  139. if (l1.empty() != l2.empty()) {
  140. return false;
  141. }
  142. if (l1.empty()) {
  143. return true;
  144. }
  145. l1.findFirst();
  146. l2.findFirst();
  147. int cpt = 1;
  148. while (!l1.last() && !l2.last()) {
  149. if (!areEqual(l1.retrieve(), l2.retrieve())) {
  150. System.err.println("Lists differ at element " + cpt + " (starting from 1)");
  151. return false;
  152. }
  153. l1.findNext();
  154. l2.findNext();
  155. cpt++;
  156. }
  157. if (l1.last() != l2.last()) {
  158. System.err.println("Lists have different sizes");
  159. return false;
  160. }
  161. if (areEqual(l1.retrieve(), l2.retrieve())) {
  162. return true;
  163. } else {
  164. System.err.println("Lists differ at element " + cpt + " (starting from 1)");
  165. return false;
  166. }
  167. }
  168.  
  169. @Before
  170. public void setUp() throws Exception {
  171. }
  172.  
  173. // #1 correct file -simple file
  174. @Test
  175. public void testLoad1() {
  176. try {
  177. SubtitleSeq seq = SubtitleSeqFactory.loadSubtitleSeq("sample1Load.srt");
  178.  
  179. LinkedList<Subtitle> expected = new LinkedList<Subtitle>();
  180. expected.insert(new SubtitleSt(new TimeSt("00", "02", "17", "040"), new TimeSt("00", "02", "18", "724"), "Monsieur Rom..."));
  181. expected.insert(new SubtitleSt(new TimeSt("00", "02", "25", "120"), new TimeSt("00", "02", "26", "531"), "Opar."));
  182. expected.insert(new SubtitleSt(new TimeSt("00", "02", "27", "520"), new TimeSt("00", "02", "29", "409"), "INHALES DEEPLY"));
  183. expected.insert(new SubtitleSt(new TimeSt("00", "02", "29", "480"), new TimeSt("00", "02", "31", "721"), "We found it."));
  184. expected.insert(new SubtitleSt(new TimeSt("00", "02", "40", "160"), new TimeSt("00", "02", "41", "446"), "Captain Moulle?"));
  185. expected.insert(new SubtitleSt(new TimeSt("00", "02", "46", "200"), new TimeSt("00", "02", "48", "089"), "Form your lines."));
  186. expected.insert(new SubtitleSt(new TimeSt("00", "02", "48", "480"), new TimeSt("00", "02", "49", "527"), "(GUNS COCKING)"));
  187. expected.insert(new SubtitleSt(new TimeSt("00", "02", "55", "800"), new TimeSt("00", "02", "57", "609"), "Maxims ready, sir!"));
  188.  
  189. assertNotNull("Method load(String) does not load a correct file", seq);
  190. assertTrue("Method load(String) not working correctly", areEqual(expected, seq.getSubtitles()));
  191.  
  192. } catch (Exception e) {
  193. e.printStackTrace();
  194. }
  195.  
  196. }
  197.  
  198. // #2 wrong sequence number
  199. @Test
  200. public void testLoad2() {
  201. try {
  202. SubtitleSeq seq = SubtitleSeqFactory.loadSubtitleSeq("sample2Load.srt");
  203. assertNull("Subtitle sequence number out of order", seq);
  204.  
  205. } catch (Exception e) {
  206. e.printStackTrace();
  207. }
  208.  
  209. }
  210.  
  211. // #3 wrong format, missing -->
  212. @Test
  213. public void testLoad3() {
  214. try {
  215. SubtitleSeq seq = SubtitleSeqFactory.loadSubtitleSeq("sample3Load.srt");
  216. assertNull("incorrect file format", seq);
  217.  
  218. } catch (Exception e) {
  219. e.printStackTrace();
  220. }
  221. }
  222.  
  223. // #4 End time precede start time
  224. @Test
  225. public void testLoad4() {
  226. try {
  227. SubtitleSeq seq = SubtitleSeqFactory.loadSubtitleSeq("sample4Load.srt");
  228. assertNull("End time precede start time", seq);
  229.  
  230. } catch (Exception e) {
  231. e.printStackTrace();
  232. }
  233. }
  234.  
  235. @Test
  236. public void testAddSubtitle1() {
  237. try {
  238. SubtitleSeq seq = SubtitleSeqFactory.getSubtitleSeq();
  239. seq.addSubtitle(new SubtitleSt(new TimeSt(0, 0, 1, 500), new TimeSt(0, 0, 3, 700), "Hello Pooh!"));
  240.  
  241. LinkedList<Subtitle> expected = new LinkedList<Subtitle>();
  242. expected.insert(new SubtitleSt(new TimeSt(0, 0, 1, 500), new TimeSt(0, 0, 3, 700), "Hello Pooh!"));
  243.  
  244. assertTrue("The method addSubtitle is not correctly implemented", areEqual(expected, seq.getSubtitles()));
  245. } catch (Exception e) {
  246. e.printStackTrace();
  247. }
  248. }
  249.  
  250. @Test
  251. public void testAddSubtitle2() {
  252. try {
  253. SubtitleSeq seq = SubtitleSeqFactory.getSubtitleSeq();
  254. seq.addSubtitle(new SubtitleSt(new TimeSt(0, 0, 1, 500), new TimeSt(0, 0, 3, 700), "Hello Pooh!"));
  255. seq.addSubtitle(new SubtitleSt(new TimeSt(0, 0, 2, 500), new TimeSt(0, 0, 5, 700), "Hello Pooh!"));
  256.  
  257. LinkedList<Subtitle> expected = new LinkedList<Subtitle>();
  258. expected.insert(new SubtitleSt(new TimeSt(0, 0, 1, 500), new TimeSt(0, 0, 3, 700), "Hello Pooh!"));
  259.  
  260. assertTrue("The method addSubtitle is not correctly implemented. Overlapping subtitles should not be added", areEqual(expected, seq.getSubtitles()));
  261. } catch (Exception e) {
  262. e.printStackTrace();
  263. }
  264. }
  265.  
  266. @Test
  267. public void testAddSubtitle3() {
  268. try {
  269. SubtitleSeq seq = SubtitleSeqFactory.getSubtitleSeq();
  270. seq.addSubtitle(new SubtitleSt(new TimeSt(0, 0, 1, 500), new TimeSt(0, 0, 3, 700), "Hello Pooh!"));
  271. seq.addSubtitle(new SubtitleSt(new TimeSt(0, 0, 0, 500), new TimeSt(0, 0, 1, 200), "Hello Tigger!"));
  272.  
  273. LinkedList<Subtitle> expected = new LinkedList<Subtitle>();
  274. expected.insert(new SubtitleSt(new TimeSt(0, 0, 0, 500), new TimeSt(0, 0, 1, 200), "Hello Tigger!"));
  275. expected.insert(new SubtitleSt(new TimeSt(0, 0, 1, 500), new TimeSt(0, 0, 3, 700), "Hello Pooh!"));
  276.  
  277. assertTrue("The method addSubtitle is not correctly implemented. Subtitles must be ordered chronologically", areEqual(expected, seq.getSubtitles()));
  278. } catch (Exception e) {
  279. e.printStackTrace();
  280. }
  281. }
  282.  
  283. // time given is between start and end times of a subtitle
  284. @Test
  285. public void testGetSubtitlesTimeS1() {
  286. try {
  287. SubtitleSeq seq = SubtitleSeqFactory.getSubtitleSeq();
  288. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "00", "35", "536"), new TimeSt("00", "00", "37", "746"), "[whistling]"));
  289. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "01", "03", "188"), new TimeSt("00", "01", "05", "732"), "[Winnie the Pooh theme song]"));
  290. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "01", "13", "407"), new TimeSt("00", "01", "16", "326"), "[male narrator] This could be\nthe room of any small boy."));
  291. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "01", "16", "577"), new TimeSt("00", "01", "18", "954"), "But, in fact, it's not."));
  292. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "01", "19", "079"), new TimeSt("00", "01", "24", "459"), "It is the room of one young boy\nin particular named Christopher Robin."));
  293. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "01", "24", "585"), new TimeSt("00", "01", "27", "713"), "Now, Christopher Robin\nhas a very active imagination,"));
  294. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "01", "27", "838"), new TimeSt("00", "01", "31", "425"), "not to mention the uncanny ability\nto collect things."));
  295. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "01", "31", "550"), new TimeSt("00", "01", "35", "053"), "Big things. Small things. Sticky things."));
  296. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "01", "35", "179"), new TimeSt("00", "01", "38", "974"), "But his favourite things\nare his stuffed animals."));
  297. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "01", "39", "308"), new TimeSt("00", "01", "41", "602"), "Ah! There they are now."));
  298.  
  299. SubtitleSt expected = new SubtitleSt(new TimeSt("00", "01", "24", "585"), new TimeSt("00", "01", "27", "713"), "Now, Christopher Robin\nhas a very active imagination,");
  300.  
  301. assertTrue("Method getSubtitle(Time) not working correctly", areEqual(expected, seq.getSubtitle(new TimeSt("00", "01", "25", "500"))));
  302.  
  303. } catch (Exception e) {
  304. e.printStackTrace();
  305. }
  306. }
  307.  
  308. // time given precedes the start time of the first subtitle
  309. @Test
  310. public void testGetSubtitlesTimeS2() {
  311. try {
  312. SubtitleSeq seq = SubtitleSeqFactory.getSubtitleSeq();
  313. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "00", "35", "536"), new TimeSt("00", "00", "37", "746"), "[whistling]"));
  314.  
  315. assertNull("Method getSubtitle(Time) not working correctly", seq.getSubtitle(new TimeSt("00", "00", "30", "536")));
  316.  
  317. } catch (Exception e) {
  318. e.printStackTrace();
  319. }
  320. }
  321.  
  322. // time given follows the end time of the last subtitle
  323. @Test
  324. public void testGetSubtitlesTimeS3() {
  325. try {
  326. SubtitleSeq seq = SubtitleSeqFactory.getSubtitleSeq();
  327. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "01", "31", "550"), new TimeSt("00", "01", "35", "053"), "Big things. Small things. Sticky things."));
  328. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "01", "35", "179"), new TimeSt("00", "01", "38", "974"), "But his favourite things\nare his stuffed animals."));
  329. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "01", "39", "308"), new TimeSt("00", "01", "41", "602"), "Ah! There they are now."));
  330.  
  331. assertNull("Method getSubtitle(Time) not working correctly", seq.getSubtitle(new TimeSt("00", "01", "42", "602")));
  332.  
  333. } catch (Exception e) {
  334. e.printStackTrace();
  335. }
  336. }
  337.  
  338. @Test
  339. public void testNbNodesInSearchPath1() {
  340. try {
  341. SubtitleSeq seq = SubtitleSeqFactory.getSubtitleSeq();
  342. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "01", "16", "577"), new TimeSt("00", "01", "18", "954"), "But, in fact, it's not."));
  343. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "01", "19", "079"), new TimeSt("00", "01", "24", "459"), "It is the room of one young boy\nin particular named Christopher Robin."));
  344. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "01", "39", "308"), new TimeSt("00", "01", "41", "602"), "Ah! There they are now."));
  345. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "00", "35", "536"), new TimeSt("00", "00", "37", "746"), "[whistling]"));
  346. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "01", "03", "188"), new TimeSt("00", "01", "05", "732"), "[Winnie the Pooh theme song]"));
  347. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "01", "13", "407"), new TimeSt("00", "01", "16", "326"), "[male narrator] This could be\nthe room of any small boy."));
  348. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "01", "31", "550"), new TimeSt("00", "01", "35", "053"), "Big things. Small things. Sticky things."));
  349. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "01", "35", "179"), new TimeSt("00", "01", "38", "974"), "But his favourite things\nare his stuffed animals."));
  350. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "01", "24", "585"), new TimeSt("00", "01", "27", "713"), "Now, Christopher Robin\nhas a very active imagination,"));
  351. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "01", "27", "838"), new TimeSt("00", "01", "31", "425"), "not to mention the uncanny ability\nto collect things."));
  352.  
  353. int expected = 5;
  354.  
  355. assertEquals("Method nbNodesInSearchPath(Time) not working correctly", expected, seq.nbNodesInSearchPath(new TimeSt("00", "01", "25", "500")));
  356.  
  357. } catch (Exception e) {
  358. e.printStackTrace();
  359. }
  360. }
  361.  
  362. @Test
  363. public void testNbNodesInSearchPath2() {
  364. try {
  365. SubtitleSeq seq = SubtitleSeqFactory.getSubtitleSeq();
  366. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "01", "16", "577"), new TimeSt("00", "01", "18", "954"), "But, in fact, it's not."));
  367. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "01", "19", "079"), new TimeSt("00", "01", "24", "459"), "It is the room of one young boy\nin particular named Christopher Robin."));
  368. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "01", "39", "308"), new TimeSt("00", "01", "41", "602"), "Ah! There they are now."));
  369. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "00", "35", "536"), new TimeSt("00", "00", "37", "746"), "[whistling]"));
  370. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "01", "03", "188"), new TimeSt("00", "01", "05", "732"), "[Winnie the Pooh theme song]"));
  371. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "01", "13", "407"), new TimeSt("00", "01", "16", "326"), "[male narrator] This could be\nthe room of any small boy."));
  372. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "01", "31", "550"), new TimeSt("00", "01", "35", "053"), "Big things. Small things. Sticky things."));
  373. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "01", "35", "179"), new TimeSt("00", "01", "38", "974"), "But his favourite things\nare his stuffed animals."));
  374. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "01", "24", "585"), new TimeSt("00", "01", "27", "713"), "Now, Christopher Robin\nhas a very active imagination,"));
  375. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "01", "27", "838"), new TimeSt("00", "01", "31", "425"), "not to mention the uncanny ability\nto collect things."));
  376.  
  377. int expected = 2;
  378.  
  379. assertEquals("Method nbNodesInSearchPath(Time) not working correctly", expected, seq.nbNodesInSearchPath(new TimeSt("00", "00", "00", "000")));
  380.  
  381. } catch (Exception e) {
  382. e.printStackTrace();
  383. }
  384. }
  385.  
  386. @Test
  387. public void testNbNodesInSearchPath3() {
  388. try {
  389. SubtitleSeq seq = SubtitleSeqFactory.getSubtitleSeq();
  390. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "01", "16", "577"), new TimeSt("00", "01", "18", "954"), "But, in fact, it's not."));
  391. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "01", "19", "079"), new TimeSt("00", "01", "24", "459"), "It is the room of one young boy\nin particular named Christopher Robin."));
  392. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "01", "39", "308"), new TimeSt("00", "01", "41", "602"), "Ah! There they are now."));
  393. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "00", "35", "536"), new TimeSt("00", "00", "37", "746"), "[whistling]"));
  394. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "01", "03", "188"), new TimeSt("00", "01", "05", "732"), "[Winnie the Pooh theme song]"));
  395. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "01", "13", "407"), new TimeSt("00", "01", "16", "326"), "[male narrator] This could be\nthe room of any small boy."));
  396. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "01", "31", "550"), new TimeSt("00", "01", "35", "053"), "Big things. Small things. Sticky things."));
  397. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "01", "35", "179"), new TimeSt("00", "01", "38", "974"), "But his favourite things\nare his stuffed animals."));
  398. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "01", "24", "585"), new TimeSt("00", "01", "27", "713"), "Now, Christopher Robin\nhas a very active imagination,"));
  399. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "01", "27", "838"), new TimeSt("00", "01", "31", "425"), "not to mention the uncanny ability\nto collect things."));
  400.  
  401. int expected = 6;
  402.  
  403. assertEquals("Method nbNodesInSearchPath(Time) not working correctly", expected, seq.nbNodesInSearchPath(new TimeSt("00", "01", "31", "425")));
  404.  
  405. } catch (Exception e) {
  406. e.printStackTrace();
  407. }
  408. }
  409.  
  410. @Test
  411. public void testShift1() {
  412. try {
  413. SubtitleSeq seq = SubtitleSeqFactory.getSubtitleSeq();
  414. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "02", "17", "040"), new TimeSt("00", "02", "18", "724"), "Monsieur Rom..."));
  415. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "02", "25", "120"), new TimeSt("00", "02", "26", "531"), "Opar."));
  416. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "02", "27", "520"), new TimeSt("00", "02", "29", "409"), "INHALES DEEPLY"));
  417. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "02", "29", "480"), new TimeSt("00", "02", "31", "721"), "We found it."));
  418. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "02", "40", "160"), new TimeSt("00", "02", "41", "446"), "Captain Moulle?"));
  419. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "02", "46", "200"), new TimeSt("00", "02", "48", "089"), "Form your lines."));
  420. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "02", "48", "480"), new TimeSt("00", "02", "49", "527"), "(GUNS COCKING)"));
  421. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "02", "55", "800"), new TimeSt("00", "02", "57", "609"), "Maxims ready, sir!"));
  422. seq.shift(1000);
  423.  
  424. LinkedList<Subtitle> expected = new LinkedList<Subtitle>();
  425. expected.insert(new SubtitleSt(new TimeSt("00", "02", "18", "040"), new TimeSt("00", "02", "19", "724"), "Monsieur Rom..."));
  426. expected.insert(new SubtitleSt(new TimeSt("00", "02", "26", "120"), new TimeSt("00", "02", "27", "531"), "Opar."));
  427. expected.insert(new SubtitleSt(new TimeSt("00", "02", "28", "520"), new TimeSt("00", "02", "30", "409"), "INHALES DEEPLY"));
  428. expected.insert(new SubtitleSt(new TimeSt("00", "02", "30", "480"), new TimeSt("00", "02", "32", "721"), "We found it."));
  429. expected.insert(new SubtitleSt(new TimeSt("00", "02", "41", "160"), new TimeSt("00", "02", "42", "446"), "Captain Moulle?"));
  430. expected.insert(new SubtitleSt(new TimeSt("00", "02", "47", "200"), new TimeSt("00", "02", "49", "089"), "Form your lines."));
  431. expected.insert(new SubtitleSt(new TimeSt("00", "02", "49", "480"), new TimeSt("00", "02", "50", "527"), "(GUNS COCKING)"));
  432. expected.insert(new SubtitleSt(new TimeSt("00", "02", "56", "800"), new TimeSt("00", "02", "58", "609"), "Maxims ready, sir!"));
  433.  
  434. assertTrue("Method shift(int) not working with positive shift", areEqual(expected, seq.getSubtitles()));
  435.  
  436. } catch (Exception e) {
  437. e.printStackTrace();
  438. }
  439. }
  440.  
  441. @Test
  442. public void testShift2() {
  443. try {
  444. SubtitleSeq seq = SubtitleSeqFactory.getSubtitleSeq();
  445. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "02", "17", "040"), new TimeSt("00", "02", "18", "724"), "Monsieur Rom..."));
  446. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "02", "25", "120"), new TimeSt("00", "02", "26", "531"), "Opar."));
  447. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "02", "27", "520"), new TimeSt("00", "02", "29", "409"), "INHALES DEEPLY"));
  448. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "02", "29", "480"), new TimeSt("00", "02", "31", "721"), "We found it."));
  449. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "02", "40", "160"), new TimeSt("00", "02", "41", "446"), "Captain Moulle?"));
  450. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "02", "46", "200"), new TimeSt("00", "02", "48", "089"), "Form your lines."));
  451. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "02", "48", "480"), new TimeSt("00", "02", "49", "527"), "(GUNS COCKING)"));
  452. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "02", "55", "800"), new TimeSt("00", "02", "57", "609"), "Maxims ready, sir!"));
  453. seq.shift(-150000);
  454.  
  455. LinkedList<Subtitle> expected = new LinkedList<Subtitle>();
  456. expected.insert(new SubtitleSt(new TimeSt("00", "00", "00", "000"), new TimeSt("00", "00", "01", "721"), "We found it."));
  457. expected.insert(new SubtitleSt(new TimeSt("00", "00", "10", "160"), new TimeSt("00", "00", "11", "446"), "Captain Moulle?"));
  458. expected.insert(new SubtitleSt(new TimeSt("00", "00", "16", "200"), new TimeSt("00", "00", "18", "089"), "Form your lines."));
  459. expected.insert(new SubtitleSt(new TimeSt("00", "00", "18", "480"), new TimeSt("00", "00", "19", "527"), "(GUNS COCKING)"));
  460. expected.insert(new SubtitleSt(new TimeSt("00", "00", "25", "800"), new TimeSt("00", "00", "27", "609"), "Maxims ready, sir!"));
  461.  
  462. assertTrue("Method shift(int) not working with negative shift", areEqual(expected, seq.getSubtitles()));
  463.  
  464. } catch (Exception e) {
  465. e.printStackTrace();
  466. }
  467. }
  468.  
  469. @Test
  470. public void testGetSubtitlesTimes1() {
  471. try {
  472. SubtitleSeq seq = SubtitleSeqFactory.getSubtitleSeq();
  473. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "45", "48", "081"), new TimeSt("00", "45", "51", "293"), "But little did they know that\ncoming through the bushes was..."));
  474. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "45", "51", "376"), new TimeSt("00", "45", "53", "629"), "- [branches snapping]\n- [all gasp] Backson!"));
  475. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "45", "53", "712"), new TimeSt("00", "45", "55", "172"), "Back to the pit!"));
  476. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "45", "55", "255"), new TimeSt("00", "45", "57", "549"), "[Christopher] Wait, everyone."));
  477. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "45", "58", "175"), new TimeSt("00", "46", "00", "135"), "It's only me."));
  478. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "46", "00", "219"), new TimeSt("00", "46", "02", "513"), "[all] Christopher Robin!"));
  479. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "46", "03", "722"), new TimeSt("00", "46", "06", "016"), "You found them, B'loon. Well done."));
  480. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "46", "06", "099"), new TimeSt("00", "46", "08", "894"), "It's Christopher Robin!"));
  481. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "46", "08", "977"), new TimeSt("00", "46", "11", "146"), "How did you escape from the Backson?"));
  482. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "46", "11", "230"), new TimeSt("00", "46", "14", "149"), "Backson? What on earth is a Backson?"));
  483. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "46", "14", "233"), new TimeSt("00", "46", "15", "484"), "He wakes up babies!"));
  484. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "46", "15", "567"), new TimeSt("00", "46", "16", "944"), "He swipes your stripes!"));
  485. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "46", "17", "027"), new TimeSt("00", "46", "18", "570"), "He puts out the lights!"));
  486. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "46", "18", "654"), new TimeSt("00", "46", "22", "199"), "Yes, and we thought he took you from us."));
  487. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "46", "22", "282"), new TimeSt("00", "46", "25", "911"), "What gave you the idea\nI was taken by a Backson? "));
  488.  
  489. LinkedList<Subtitle> expected = new LinkedList<Subtitle>();
  490. expected.insert(new SubtitleSt(new TimeSt("00", "45", "48", "081"), new TimeSt("00", "45", "51", "293"), "But little did they know that\ncoming through the bushes was..."));
  491. expected.insert(new SubtitleSt(new TimeSt("00", "45", "51", "376"), new TimeSt("00", "45", "53", "629"), "- [branches snapping]\n- [all gasp] Backson!"));
  492. expected.insert(new SubtitleSt(new TimeSt("00", "45", "53", "712"), new TimeSt("00", "45", "55", "172"), "Back to the pit!"));
  493. expected.insert(new SubtitleSt(new TimeSt("00", "45", "55", "255"), new TimeSt("00", "45", "57", "549"), "[Christopher] Wait, everyone."));
  494. expected.insert(new SubtitleSt(new TimeSt("00", "45", "58", "175"), new TimeSt("00", "46", "00", "135"), "It's only me."));
  495. expected.insert(new SubtitleSt(new TimeSt("00", "46", "00", "219"), new TimeSt("00", "46", "02", "513"), "[all] Christopher Robin!"));
  496. expected.insert(new SubtitleSt(new TimeSt("00", "46", "03", "722"), new TimeSt("00", "46", "06", "016"), "You found them, B'loon. Well done."));
  497. expected.insert(new SubtitleSt(new TimeSt("00", "46", "06", "099"), new TimeSt("00", "46", "08", "894"), "It's Christopher Robin!"));
  498. expected.insert(new SubtitleSt(new TimeSt("00", "46", "08", "977"), new TimeSt("00", "46", "11", "146"), "How did you escape from the Backson?"));
  499. expected.insert(new SubtitleSt(new TimeSt("00", "46", "11", "230"), new TimeSt("00", "46", "14", "149"), "Backson? What on earth is a Backson?"));
  500. expected.insert(new SubtitleSt(new TimeSt("00", "46", "14", "233"), new TimeSt("00", "46", "15", "484"), "He wakes up babies!"));
  501. expected.insert(new SubtitleSt(new TimeSt("00", "46", "15", "567"), new TimeSt("00", "46", "16", "944"), "He swipes your stripes!"));
  502. expected.insert(new SubtitleSt(new TimeSt("00", "46", "17", "027"), new TimeSt("00", "46", "18", "570"), "He puts out the lights!"));
  503. expected.insert(new SubtitleSt(new TimeSt("00", "46", "18", "654"), new TimeSt("00", "46", "22", "199"), "Yes, and we thought he took you from us."));
  504. expected.insert(new SubtitleSt(new TimeSt("00", "46", "22", "282"), new TimeSt("00", "46", "25", "911"), "What gave you the idea\nI was taken by a Backson? "));
  505.  
  506. assertTrue("Method getSubtitles(fromTime,toTime) not working correctly", areEqual(expected, seq.getSubtitles(new TimeSt("00", "00", "00", "000"), new TimeSt("00", "50", "00", "000"))));
  507.  
  508. } catch (Exception e) {
  509. e.printStackTrace();
  510. }
  511. }
  512.  
  513. @Test
  514. public void testGetSubtitlesTimes2() {
  515. try {
  516. SubtitleSeq seq = SubtitleSeqFactory.getSubtitleSeq();
  517. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "45", "48", "081"), new TimeSt("00", "45", "51", "293"), "But little did they know that\ncoming through the bushes was..."));
  518. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "45", "51", "376"), new TimeSt("00", "45", "53", "629"), "- [branches snapping]\n- [all gasp] Backson!"));
  519. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "45", "53", "712"), new TimeSt("00", "45", "55", "172"), "Back to the pit!"));
  520. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "45", "55", "255"), new TimeSt("00", "45", "57", "549"), "[Christopher] Wait, everyone."));
  521. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "45", "58", "175"), new TimeSt("00", "46", "00", "135"), "It's only me."));
  522. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "46", "00", "219"), new TimeSt("00", "46", "02", "513"), "[all] Christopher Robin!"));
  523. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "46", "03", "722"), new TimeSt("00", "46", "06", "016"), "You found them, B'loon. Well done."));
  524. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "46", "06", "099"), new TimeSt("00", "46", "08", "894"), "It's Christopher Robin!"));
  525. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "46", "08", "977"), new TimeSt("00", "46", "11", "146"), "How did you escape from the Backson?"));
  526. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "46", "11", "230"), new TimeSt("00", "46", "14", "149"), "Backson? What on earth is a Backson?"));
  527. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "46", "14", "233"), new TimeSt("00", "46", "15", "484"), "He wakes up babies!"));
  528. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "46", "15", "567"), new TimeSt("00", "46", "16", "944"), "He swipes your stripes!"));
  529. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "46", "17", "027"), new TimeSt("00", "46", "18", "570"), "He puts out the lights!"));
  530. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "46", "18", "654"), new TimeSt("00", "46", "22", "199"), "Yes, and we thought he took you from us."));
  531. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "46", "22", "282"), new TimeSt("00", "46", "25", "911"), "What gave you the idea\nI was taken by a Backson? "));
  532.  
  533. LinkedList<Subtitle> expected = new LinkedList<Subtitle>();
  534.  
  535. assertTrue("Method getSubtitles(fromTime,toTime) not working correctly", areEqual(expected, seq.getSubtitles(new TimeSt("00", "00", "00", "000"), new TimeSt("00", "30", "00", "000"))));
  536.  
  537. } catch (Exception e) {
  538. e.printStackTrace();
  539. }
  540. }
  541.  
  542. @Test
  543. public void testGetSubtitlesTimes3() {
  544. try {
  545. SubtitleSeq seq = SubtitleSeqFactory.getSubtitleSeq();
  546. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "45", "48", "081"), new TimeSt("00", "45", "51", "293"), "But little did they know that\ncoming through the bushes was..."));
  547. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "45", "51", "376"), new TimeSt("00", "45", "53", "629"), "- [branches snapping]\n- [all gasp] Backson!"));
  548. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "45", "53", "712"), new TimeSt("00", "45", "55", "172"), "Back to the pit!"));
  549. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "45", "55", "255"), new TimeSt("00", "45", "57", "549"), "[Christopher] Wait, everyone."));
  550. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "45", "58", "175"), new TimeSt("00", "46", "00", "135"), "It's only me."));
  551. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "46", "00", "219"), new TimeSt("00", "46", "02", "513"), "[all] Christopher Robin!"));
  552. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "46", "03", "722"), new TimeSt("00", "46", "06", "016"), "You found them, B'loon. Well done."));
  553. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "46", "06", "099"), new TimeSt("00", "46", "08", "894"), "It's Christopher Robin!"));
  554. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "46", "08", "977"), new TimeSt("00", "46", "11", "146"), "How did you escape from the Backson?"));
  555. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "46", "11", "230"), new TimeSt("00", "46", "14", "149"), "Backson? What on earth is a Backson?"));
  556. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "46", "14", "233"), new TimeSt("00", "46", "15", "484"), "He wakes up babies!"));
  557. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "46", "15", "567"), new TimeSt("00", "46", "16", "944"), "He swipes your stripes!"));
  558. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "46", "17", "027"), new TimeSt("00", "46", "18", "570"), "He puts out the lights!"));
  559. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "46", "18", "654"), new TimeSt("00", "46", "22", "199"), "Yes, and we thought he took you from us."));
  560. seq.addSubtitle(new SubtitleSt(new TimeSt("00", "46", "22", "282"), new TimeSt("00", "46", "25", "911"), "What gave you the idea\nI was taken by a Backson? "));
  561.  
  562. LinkedList<Subtitle> expected = new LinkedList<Subtitle>();
  563. expected.insert(new SubtitleSt(new TimeSt("00", "45", "58", "175"), new TimeSt("00", "46", "00", "135"), "It's only me."));
  564. expected.insert(new SubtitleSt(new TimeSt("00", "46", "00", "219"), new TimeSt("00", "46", "02", "513"), "[all] Christopher Robin!"));
  565. expected.insert(new SubtitleSt(new TimeSt("00", "46", "03", "722"), new TimeSt("00", "46", "06", "016"), "You found them, B'loon. Well done."));
  566. expected.insert(new SubtitleSt(new TimeSt("00", "46", "06", "099"), new TimeSt("00", "46", "08", "894"), "It's Christopher Robin!"));
  567. expected.insert(new SubtitleSt(new TimeSt("00", "46", "08", "977"), new TimeSt("00", "46", "11", "146"), "How did you escape from the Backson?"));
  568.  
  569. assertTrue("Method getSubtitles(fromTime,toTime) not working correctly", areEqual(expected, seq.getSubtitles(new TimeSt("00", "45", "59", "000"), new TimeSt("00", "46", "08", "977"))));
  570.  
  571. } catch (Exception e) {
  572. e.printStackTrace();
  573. }
  574. }
  575.  
  576. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement