101 lines
3.6 KiB
Go
101 lines
3.6 KiB
Go
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])
|
|
}
|
|
}
|
|
}
|