dialogue_merger_test.go 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. package sub_helper
  2. import (
  3. "github.com/allanpk716/ChineseSubFinder/internal/logic/sub_parser/ass"
  4. "github.com/allanpk716/ChineseSubFinder/internal/logic/sub_parser/srt"
  5. "github.com/allanpk716/ChineseSubFinder/internal/pkg/my_util"
  6. "github.com/allanpk716/ChineseSubFinder/internal/pkg/sub_parser_hub"
  7. "path/filepath"
  8. "testing"
  9. )
  10. func Test_isFirstLetterIsEngUpper(t *testing.T) {
  11. type args struct {
  12. instring string
  13. }
  14. tests := []struct {
  15. name string
  16. args args
  17. want bool
  18. }{
  19. {name: "0", args: args{instring: "A"}, want: true},
  20. {name: "1", args: args{instring: "a"}, want: false},
  21. {name: "2", args: args{instring: "哈"}, want: false},
  22. {name: "3", args: args{instring: ""}, want: false},
  23. }
  24. for _, tt := range tests {
  25. t.Run(tt.name, func(t *testing.T) {
  26. if got := isFirstLetterIsEngUpper(tt.args.instring); got != tt.want {
  27. t.Errorf("isFirstLetterIsEngUpper() = %v, want %v", got, tt.want)
  28. }
  29. })
  30. }
  31. }
  32. func Test_isFirstLetterIsEngLower(t *testing.T) {
  33. type args struct {
  34. instring string
  35. }
  36. tests := []struct {
  37. name string
  38. args args
  39. want bool
  40. }{
  41. {name: "0", args: args{instring: "A"}, want: false},
  42. {name: "1", args: args{instring: "a"}, want: true},
  43. {name: "2", args: args{instring: "哈"}, want: false},
  44. {name: "3", args: args{instring: ""}, want: false},
  45. }
  46. for _, tt := range tests {
  47. t.Run(tt.name, func(t *testing.T) {
  48. if got := isFirstLetterIsEngLower(tt.args.instring); got != tt.want {
  49. t.Errorf("isFirstLetterIsEngLower() = %v, want %v", got, tt.want)
  50. }
  51. })
  52. }
  53. }
  54. func TestNewDialogueMerger(t *testing.T) {
  55. testDataPath := "../../../TestData/FixTimeline"
  56. testRootDir, err := my_util.CopyTestData(testDataPath)
  57. if err != nil {
  58. t.Fatal(err)
  59. }
  60. subParserHub := sub_parser_hub.NewSubParserHub(ass.NewParser(), srt.NewParser())
  61. //bFind, infoBase, err := subParserHub.DetermineFileTypeFromFile(filepath.Join(testRootDir, "2line-The Card Counter (2021) WEBDL-1080p.chinese(inside).ass"))
  62. bFind, infoBase, err := subParserHub.DetermineFileTypeFromFile(filepath.Join(testRootDir, "2line-英_1_0-3-35#150_36#360000.srt"))
  63. if err != nil {
  64. t.Fatal(err)
  65. }
  66. if bFind == false {
  67. t.Fatal("not find")
  68. }
  69. merger := NewDialogueMerger()
  70. for _, ex := range infoBase.DialoguesEx {
  71. merger.Add(ex)
  72. }
  73. newEx := merger.Get()
  74. println(len(newEx))
  75. }