package main import ( "fmt" "testing" ) func TestStrTimeToS_erreur(t *testing.T) { testName := "Test erreur" inputs := []string{"", "az", "0x00", "00:0x0:00.0", "0::0.0"} expected := 0.0 for i, input := range inputs { result, err := strTimeToS(input) if err == nil { msg := fmt.Sprintf("%s , n° %d | la valeur '%s' aurait du retourner une erreurmais ce n'est pas le cas. ", testName, i, input) t.Errorf(msg, expected, result) } } } func TestStrTimeToS_0(t *testing.T) { testName := "Test 0" inputs := []string{"00", "0", "0.0", "0:0.0", "0:0", "0:0:0", "00:00:00", "0:00:0.0", "00:0:0", "00:00:00.0"} expected := 0.0 for i, input := range inputs { result, err := strTimeToS(input) if err != nil || result != expected { msg := fmt.Sprintf("%s , n° %d | la valeur '%s' aurait du retourner '%%f' mais on a obtenu '%%f' avec erreur : '%v'", testName, i, input, err) t.Errorf(msg, expected, result) } } } func TestStrTimeToS_10(t *testing.T) { testName := "Test 10" inputs := []string{"10", "10.0", "0:10.0", "0:10", "0:0:10", "00:00:10", "0:00:10.0", "00:0:10"} expected := 10.0 for i, input := range inputs { result, err := strTimeToS(input) if err != nil || result != expected { msg := fmt.Sprintf("%s , n° %d | la valeur '%s' aurait du retourner '%%f' mais on a obtenu '%%f' avec erreur : '%v'", testName, i, input, err) t.Errorf(msg, expected, result) } } } func TestStrTimeToS_100_42(t *testing.T) { testName := "Test 100.42" inputs := []string{"100.42", "1:40.420", "0:1:40.42", "0:1:40.42", "00:01:40.42"} expected := 100.42 for i, input := range inputs { result, err := strTimeToS(input) if err != nil || result != expected { msg := fmt.Sprintf("%s , n° %d | la valeur '%s' aurait du retourner '%%f' mais on a obtenu '%%f' avec erreur : '%v'", testName, i, input, err) t.Errorf(msg, expected, result) } } } func TestStrTimeToS_4000(t *testing.T) { testName := "Test 4000" inputs := []string{"0001:06:040", "1:6:40", "01:06:40.00", "1:5:100.0"} expected := 4000. for i, input := range inputs { result, err := strTimeToS(input) if err != nil || result != expected { msg := fmt.Sprintf("%s , n° %d | la valeur '%s' aurait du retourner '%%f' mais on a obtenu '%%f' avec erreur : '%v'", testName, i, input, err) t.Errorf(msg, expected, result) } } } // ------------------------------------------------- func TestGetInfo_erreur(t *testing.T) { testName := "Test getInfo" inputs := []string{"00:01:aa.500 artiste - titre (etc) ☺"} for i, input := range inputs { _, _, _, err := GetInfo(input) if err == nil { msg := fmt.Sprintf("%s , n° %d | la valeur '%s' aurait du retourner une erreur.", testName, i, input) t.Errorf(msg) } } } func TestGetInfo(t *testing.T) { testName := "Test getInfo" inputs := []string{"00:00:00.500 artiste - titre (etc) ☺", "0:01:2.500 - titr - e (etc) ☺", "1:8:10.500 artiste titre (etc) ☺"} expectedTime := []float64{0.5, 62.5, 4090.5} expectedArtiste := []string{"artiste", "", ""} expectedTitre := []string{"titre (etc) ☺", "titr - e (etc) ☺", "artiste titre (etc) ☺"} for i, input := range inputs { resultTime, resultArtiste, resultTitre, err := GetInfo(input) if err != nil || resultTime != expectedTime[i] || resultArtiste != expectedArtiste[i] || resultTitre != expectedTitre[i] { msg := fmt.Sprintf("%s , n° %d | la valeur '%s' aurait du retourner '%%f' '%%s' '%%s' mais on a obtenu '%%f' '%%s' '%%s' avec erreur : '%v'", testName, i, input, err) t.Errorf(msg, resultTime, resultArtiste, resultTitre, expectedTime[i], expectedArtiste[i], expectedTitre[i]) } } }