github.com/kumasuke120/mockuma@v1.1.9/internal/myjson/conversion_test.go (about)

     1  package myjson
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/assert"
     7  )
     8  
     9  func TestToObject(t *testing.T) {
    10  	//noinspection GoImportUsedAsName
    11  	assert := assert.New(t)
    12  
    13  	_, e1 := ToObject(1)
    14  	assert.NotNil(e1)
    15  	assert.NotEmpty(e1.Error())
    16  
    17  	o2, e2 := ToObject(Object{})
    18  	if assert.Nil(e2) {
    19  		assert.Equal(Object{}, o2)
    20  	}
    21  }
    22  
    23  func TestToArray(t *testing.T) {
    24  	//noinspection GoImportUsedAsName
    25  	assert := assert.New(t)
    26  
    27  	_, e1 := ToArray(1)
    28  	assert.NotNil(e1)
    29  	assert.NotEmpty(e1.Error())
    30  
    31  	o2, e2 := ToArray(Array{})
    32  	if assert.Nil(e2) {
    33  		assert.Equal(Array{}, o2)
    34  	}
    35  }
    36  
    37  func TestToNumber(t *testing.T) {
    38  	//noinspection GoImportUsedAsName
    39  	assert := assert.New(t)
    40  
    41  	_, e1 := ToNumber(Object{})
    42  	assert.NotNil(e1)
    43  
    44  	n2, e2 := ToNumber(Number(1))
    45  	if assert.Nil(e2) {
    46  		assert.Equal(Number(1), n2)
    47  	}
    48  
    49  	n3, e3 := ToNumber(String("1"))
    50  	if assert.Nil(e3) {
    51  		assert.Equal(Number(1), n3)
    52  	}
    53  
    54  	_, e4 := toNumber(String("abc"), "n4")
    55  	assert.NotNil(e4)
    56  	assert.Contains(e4.Error(), "'n4'")
    57  }
    58  
    59  func TestToString(t *testing.T) {
    60  	//noinspection GoImportUsedAsName
    61  	assert := assert.New(t)
    62  
    63  	_, e1 := ToString(nil)
    64  	assert.NotNil(e1)
    65  
    66  	s2, e2 := ToString(String("s"))
    67  	if assert.Nil(e2) {
    68  		assert.Equal(String("s"), s2)
    69  	}
    70  
    71  	s3, e3 := ToString(1)
    72  	if assert.Nil(e3) {
    73  		assert.Equal(String("1"), s3)
    74  	}
    75  }
    76  
    77  func TestToBoolean(t *testing.T) {
    78  	//noinspection GoImportUsedAsName
    79  	assert := assert.New(t)
    80  
    81  	_, e1 := ToBoolean(nil)
    82  	assert.NotNil(e1)
    83  
    84  	b2, e2 := toBoolean(Boolean(true), "b")
    85  	if assert.Nil(e2) {
    86  		assert.Equal(Boolean(true), b2)
    87  	}
    88  }