...

Source file src/github.com/clbanning/mxj/v2/struct_test.go

Documentation: github.com/clbanning/mxj/v2

     1  package mxj
     2  
     3  import (
     4  	"fmt"
     5  	"testing"
     6  )
     7  
     8  func TestStructHeader(t *testing.T) {
     9  	fmt.Println("\n----------------  struct_test.go ...")
    10  }
    11  
    12  /*
    13  func TestNewMapStruct(t *testing.T) {
    14  	type str struct {
    15  		IntVal   int     `json:"int"`
    16  		StrVal   string  `json:"str"`
    17  		FloatVal float64 `json:"float"`
    18  		BoolVal  bool    `json:"bool"`
    19  		private  string
    20  	}
    21  	s := str{IntVal: 4, StrVal: "now's the time", FloatVal: 3.14159, BoolVal: true, private: "It's my party"}
    22  
    23  	m, merr := NewMapStruct(s)
    24  	if merr != nil {
    25  		t.Fatal("merr:", merr.Error())
    26  	}
    27  
    28  	fmt.Printf("NewMapStruct, s: %#v\n", s)
    29  	fmt.Printf("NewMapStruct, m: %#v\n", m)
    30  
    31  	m, merr = NewMapStruct(s)
    32  	if merr != nil {
    33  		t.Fatal("merr:", merr.Error())
    34  	}
    35  
    36  	fmt.Printf("NewMapStruct, s: %#v\n", s)
    37  	fmt.Printf("NewMapStruct, m: %#v\n", m)
    38  }
    39  
    40  func TestNewMapStructError(t *testing.T) {
    41  	var s string
    42  	_, merr := NewMapStruct(s)
    43  	if merr == nil {
    44  		t.Fatal("NewMapStructError, merr is nil")
    45  	}
    46  
    47  	fmt.Println("NewMapStructError, merr:", merr.Error())
    48  }
    49  */
    50  
    51  func TestStruct(t *testing.T) {
    52  	type str struct {
    53  		IntVal   int     `json:"int"`
    54  		StrVal   string  `json:"str"`
    55  		FloatVal float64 `json:"float"`
    56  		BoolVal  bool    `json:"bool"`
    57  		private  string
    58  	}
    59  	var s str
    60  	m := Map{"int": 4, "str": "now's the time", "float": 3.14159, "bool": true, "private": "Somewhere over the rainbow"}
    61  
    62  	mverr := m.Struct(&s)
    63  	if mverr != nil {
    64  		t.Fatal("mverr:", mverr.Error())
    65  	}
    66  
    67  	fmt.Printf("Struct, m: %#v\n", m)
    68  	fmt.Printf("Struct, s: %#v\n", s)
    69  }
    70  
    71  func TestStructError(t *testing.T) {
    72  	type str struct {
    73  		IntVal   int     `json:"int"`
    74  		StrVal   string  `json:"str"`
    75  		FloatVal float64 `json:"float"`
    76  		BoolVal  bool    `json:"bool"`
    77  	}
    78  	var s str
    79  	mv := Map{"int": 4, "str": "now's the time", "float": 3.14159, "bool": true}
    80  
    81  	mverr := mv.Struct(s)
    82  	if mverr == nil {
    83  		t.Fatal("StructError, no error returned")
    84  	}
    85  	fmt.Println("StructError, mverr:", mverr.Error())
    86  }
    87  

View as plain text