dialogue_merger_test.go 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  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"
  6. "github.com/allanpk716/ChineseSubFinder/internal/pkg/sub_parser_hub"
  7. "path"
  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 := pkg.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. if err != nil {
  63. t.Fatal(err)
  64. }
  65. if bFind == false {
  66. t.Fatal("not find")
  67. }
  68. merger := NewDialogueMerger()
  69. for _, ex := range infoBase.DialoguesEx {
  70. merger.Add(ex)
  71. }
  72. newEx := merger.Get()
  73. println(len(newEx))
  74. }