diff --git a/exif_test.go b/exif_test.go new file mode 100644 index 00000000..70a45284 --- /dev/null +++ b/exif_test.go @@ -0,0 +1,32 @@ +package filetrove + +import ( + "reflect" + "testing" +) + +func TestExifDecode(t *testing.T) { + type args struct { + fileName string + } + tests := []struct { + name string + args args + want ExifParsed + wantErr bool + }{ + {"EXIF screenshot_1.jpg", args{"testdata/images/screenshot_1.jpeg"}, ExifParsed{Artist: "\"Steffen Fritz\""}, false}, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + got, err := ExifDecode(tt.args.fileName) + if (err != nil) != tt.wantErr { + t.Errorf("ExifDecode() error = %v, wantErr %v", err, tt.wantErr) + return + } + if !reflect.DeepEqual(got.Artist, tt.want.Artist) { + t.Errorf("ExifDecode() got = %v, want %v", got.Artist, tt.want.Artist) + } + }) + } +} diff --git a/times_test.go b/times_test.go new file mode 100644 index 00000000..37b6bef6 --- /dev/null +++ b/times_test.go @@ -0,0 +1,33 @@ +package filetrove + +import ( + "reflect" + "testing" + "time" +) + +func TestGetFileTimes(t *testing.T) { + type args struct { + filename string + } + tests := []struct { + name string + args args + want FileTime + wantErr bool + }{ + {"File Time white.jpg", args{"testdata/white.jpg"}, FileTime{Btime: time.Date(2024, time.January, 29, 18, 21, 29, 146356207, time.Local)}, false}, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + got, err := GetFileTimes(tt.args.filename) + if (err != nil) != tt.wantErr { + t.Errorf("GetFileTimes() error = %v, wantErr %v", err, tt.wantErr) + return + } + if !reflect.DeepEqual(got.Btime, tt.want.Btime) { + t.Errorf("GetFileTimes() got = %v, want %v", got.Btime, tt.want.Btime) + } + }) + } +} diff --git a/uuid_test.go b/uuid_test.go new file mode 100644 index 00000000..a1fb7783 --- /dev/null +++ b/uuid_test.go @@ -0,0 +1,25 @@ +package filetrove + +import "testing" + +func TestCreateUUID(t *testing.T) { + tests := []struct { + name string + want int + wantErr bool + }{ + {"UUID length", 36, false}, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + got, err := CreateUUID() + if (err != nil) != tt.wantErr { + t.Errorf("CreateUUID() error = %v, wantErr %v", err, tt.wantErr) + return + } + if len(got) != tt.want { + t.Errorf("CreateUUID() got = %v, want %v", len(got), tt.want) + } + }) + } +}