@@ -22,51 +22,59 @@ public class LrcTimedTextUtilsTest
2222 [ TestCase ( " " , "" , new string [ ] { } ) ]
2323 [ TestCase ( null , "" , new string [ ] { } ) ]
2424 [ TestCase ( "<00:51.00> <01:29.99><01:48.29> <02:31.00> <02:41.99>You gotta fight !" , "You gotta fight !" , new [ ] { "[0,start]:161990" } ) ] // multiple empty tags
25- public void TestDecode ( string text , string expectedText , string [ ] expectedTimeTags )
26- {
27- var ( actualText , actualTimeTags ) = LrcTimedTextUtils . TimedTextToObject ( text , 0 ) ;
28-
29- Assert . That ( actualText , Is . EqualTo ( expectedText ) ) ;
30- Assert . That ( actualTimeTags , Is . EqualTo ( TestCaseTagHelper . ParseTimeTags ( expectedTimeTags ) ) ) ;
31- }
32-
3325 // Surrounding time tags
3426 [ TestCase (
35- "<00:06.84> Every <00:07.20> <00:07.56> night <00:07.87> <00:08.19> that <00:08.46> <00:08.79> goes <00:09.19> <00:09.59> between" , 6840 ,
27+ "<00:06.84> Every <00:07.20> <00:07.56> night <00:07.87> <00:08.19> that <00:08.46> <00:08.79> goes <00:09.19> <00:09.59> between" ,
3628 "Every night that goes between" ,
3729 new [ ] { "[0,start]:6840" , "[4,end]:7200" , "[6,start]:7560" , "[10,end]:7870" , "[12,start]:8190" , "[15,end]:8460" , "[17,start]:8790" , "[20,end]:9190" , "[22,start]:9590" }
3830 ) ]
3931 // Alternating time tags, spaced on both sides
4032 [ TestCase (
41- "<00:06.84> Every <00:07.56> night <00:08.19> that <00:08.79> goes <00:09.59> between" , 6840 , "Every night that goes between" ,
33+ "<00:06.84> Every <00:07.56> night <00:08.19> that <00:08.79> goes <00:09.59> between" , "Every night that goes between" ,
4234 new [ ] { "[0,start]:6840" , "[6,start]:7560" , "[12,start]:8190" , "[17,start]:8790" , "[22,start]:9590" }
4335 ) ]
4436 // Alternating time tags, unspaced
4537 [ TestCase (
46- "<00:06.84>Every<00:07.56>night<00:08.19>that<00:08.79>goes<00:09.59>between" , 6840 , "Everynightthatgoesbetween" ,
38+ "<00:06.84>Every<00:07.56>night<00:08.19>that<00:08.79>goes<00:09.59>between" , "Everynightthatgoesbetween" ,
4739 new [ ] { "[0,start]:6840" , "[5,start]:7560" , "[10,start]:8190" , "[14,start]:8790" , "[18,start]:9590" }
4840 ) ]
4941 [ TestCase (
50- "Every<00:07.56>night<00:08.19>that<00:08.79>goes<00:09.59>between" , 6840 , "Everynightthatgoesbetween" ,
51- new [ ] { "[0,start]:6840 " , "[5,start]:7560" , "[10,start]:8190" , "[14,start]:8790" , "[18,start]:9590" }
42+ "Every<00:07.56>night<00:08.19>that<00:08.79>goes<00:09.59>between" , "Everynightthatgoesbetween" ,
43+ new [ ] { "[0,start]:0 " , "[5,start]:7560" , "[10,start]:8190" , "[14,start]:8790" , "[18,start]:9590" }
5244 ) ]
5345 // Alternating time tags, prefix spaced
5446 [ TestCase (
55- "<00:06.84> Every<00:07.56> night<00:08.19> that<00:08.79> goes<00:09.59> between" , 6840 , "Every night that goes between" ,
47+ "<00:06.84> Every<00:07.56> night<00:08.19> that<00:08.79> goes<00:09.59> between" , "Every night that goes between" ,
5648 new [ ] { "[0,start]:6840" , "[6,start]:7560" , "[12,start]:8190" , "[17,start]:8790" , "[22,start]:9590" }
5749 ) ]
5850 [ TestCase (
59- "Every<00:07.56> night<00:08.19> that<00:08.79> goes<00:09.59> between" , 6840 , "Every night that goes between" ,
60- new [ ] { "[0,start]:6840 " , "[6,start]:7560" , "[12,start]:8190" , "[17,start]:8790" , "[22,start]:9590" }
51+ "Every<00:07.56> night<00:08.19> that<00:08.79> goes<00:09.59> between" , "Every night that goes between" ,
52+ new [ ] { "[0,start]:0 " , "[6,start]:7560" , "[12,start]:8190" , "[17,start]:8790" , "[22,start]:9590" }
6153 ) ]
6254 // Alternating time tags, postfix spaced
6355 [ TestCase (
64- "<00:06.84>Every <00:07.56>night <00:08.19>that <00:08.79>goes <00:09.59>between" , 6840 , "Every night that goes between" ,
56+ "<00:06.84>Every <00:07.56>night <00:08.19>that <00:08.79>goes <00:09.59>between" , "Every night that goes between" ,
6557 new [ ] { "[0,start]:6840" , "[6,start]:7560" , "[12,start]:8190" , "[17,start]:8790" , "[22,start]:9590" }
6658 ) ]
6759 [ TestCase (
68- "Every <00:07.56>night <00:08.19>that <00:08.79>goes <00:09.59>between" , 6840 , "Every night that goes between" ,
69- new [ ] { "[0,start]:6840" , "[6,start]:7560" , "[12,start]:8190" , "[17,start]:8790" , "[22,start]:9590" }
60+ "Every <00:07.56>night <00:08.19>that <00:08.79>goes <00:09.59>between" , "Every night that goes between" ,
61+ new [ ] { "[0,start]:0" , "[6,start]:7560" , "[12,start]:8190" , "[17,start]:8790" , "[22,start]:9590" }
62+ ) ]
63+ public void TestDecode ( string text , string expectedText , string [ ] expectedTimeTags )
64+ {
65+ var ( actualText , actualTimeTags ) = LrcTimedTextUtils . TimedTextToObject ( text , 0 ) ;
66+
67+ Assert . That ( actualText , Is . EqualTo ( expectedText ) ) ;
68+ Assert . That ( actualTimeTags , Is . EqualTo ( TestCaseTagHelper . ParseTimeTags ( expectedTimeTags ) ) ) ;
69+ }
70+
71+ [ TestCase (
72+ "<00:06.84>Every<00:07.56>night<00:08.19>that<00:08.79>goes<00:09.59>between" , 6840 , "Everynightthatgoesbetween" ,
73+ new [ ] { "[0,start]:6840" , "[5,start]:7560" , "[10,start]:8190" , "[14,start]:8790" , "[18,start]:9590" }
74+ ) ]
75+ [ TestCase (
76+ "Every<00:07.56>night<00:08.19>that<00:08.79>goes<00:09.59>between" , 6840 , "Everynightthatgoesbetween" ,
77+ new [ ] { "[0,start]:6840" , "[5,start]:7560" , "[10,start]:8190" , "[14,start]:8790" , "[18,start]:9590" }
7078 ) ]
7179 public void TestDecodeWithStartTime ( string text , int lineStartTime , string expectedText , string [ ] expectedTimeTags )
7280 {
0 commit comments