| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- package read
- import (
- "os"
- "testing"
- "github.com/stretchr/testify/assert"
- )
- func TestReadMultipleFiles(t *testing.T) {
- directory, _ := os.Getwd()
- files := make(chan string, 1)
- go func() {
- files <- testFile
- close(files)
- }()
- outputChan := ReadMultipleFiles(directory, files)
- var results []*Song
- outputDone := false
- for !outputDone {
- select {
- case result, more := <- outputChan:
- if more {
- results = append(results, result)
- }
- outputDone = !more
- }
- }
- assert.Len(t, results, 1)
- assert.Equal(t, *results[0], Song{
- Title: testTitle,
- Artist: testArtist,
- Album: testAlbum,
- Duration: testLengthSeconds,
- DurationOk: true,
- BasePath: directory,
- RelativePath: testFile,
- })
- }
- func TestScanDirectory(t *testing.T) {
- files := ScanDirectory(".")
- var results []string
- done := false
- for !done {
- select {
- case result, more := <- files:
- if more {
- results = append(results, result)
- }
- done = !more
- }
- }
- assert.Equal(t, results, []string{testFile})
- }
|