35 lines
		
	
	
		
			798 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			798 B
		
	
	
	
		
			Go
		
	
	
	
	
	
package core
 | 
						|
 | 
						|
import (
 | 
						|
	"log"
 | 
						|
	"testing"
 | 
						|
)
 | 
						|
 | 
						|
type TestTagDefaultValueStruct struct {
 | 
						|
	TestString string `json:"test_string" default:"something"`
 | 
						|
	TestNumber int    `json:"test_number" default:"12"`
 | 
						|
}
 | 
						|
 | 
						|
func TestTagDefaultValue(t *testing.T) {
 | 
						|
	testStruct := &TestTagDefaultValueStruct{}
 | 
						|
 | 
						|
	values, err := getDefaultValues(testStruct)
 | 
						|
	if err != nil {
 | 
						|
		log.Fatalf("error when getting default values from tags: %s", err)
 | 
						|
	}
 | 
						|
 | 
						|
	expected := map[string]string{
 | 
						|
		"test_string": "something",
 | 
						|
		"test_number": "12",
 | 
						|
	}
 | 
						|
 | 
						|
	if len(values) != len(expected) {
 | 
						|
		log.Fatalf("expected equal length of values and expected: expected: %d, got: %d", len(expected), len(values))
 | 
						|
	}
 | 
						|
	for expKey, expValue := range expected {
 | 
						|
		if expValue != values[expKey] {
 | 
						|
			log.Fatalf("not equal values for key %s", expKey)
 | 
						|
		}
 | 
						|
	}
 | 
						|
}
 |