...

Source file src/github.com/godbus/dbus/v5/sig_test.go

Documentation: github.com/godbus/dbus/v5

     1  package dbus
     2  
     3  import (
     4  	"testing"
     5  )
     6  
     7  var sigTests = []struct {
     8  	vs  []interface{}
     9  	sig Signature
    10  }{
    11  	{
    12  		[]interface{}{new(int32)},
    13  		Signature{"i"},
    14  	},
    15  	{
    16  		[]interface{}{new(string)},
    17  		Signature{"s"},
    18  	},
    19  	{
    20  		[]interface{}{new(Signature)},
    21  		Signature{"g"},
    22  	},
    23  	{
    24  		[]interface{}{new([]int16)},
    25  		Signature{"an"},
    26  	},
    27  	{
    28  		[]interface{}{new(int16), new(uint32)},
    29  		Signature{"nu"},
    30  	},
    31  	{
    32  		[]interface{}{new(map[byte]Variant)},
    33  		Signature{"a{yv}"},
    34  	},
    35  	{
    36  		[]interface{}{new(Variant), new([]map[int32]string)},
    37  		Signature{"vaa{is}"},
    38  	},
    39  }
    40  
    41  func TestSig(t *testing.T) {
    42  	for i, v := range sigTests {
    43  		sig := SignatureOf(v.vs...)
    44  		if sig != v.sig {
    45  			t.Errorf("test %d: got %q, expected %q", i+1, sig.str, v.sig.str)
    46  		}
    47  	}
    48  }
    49  
    50  var getSigTest = []interface{}{
    51  	[]struct {
    52  		b byte
    53  		i int32
    54  		t uint64
    55  		s string
    56  	}{},
    57  	map[string]Variant{},
    58  }
    59  
    60  func BenchmarkGetSignatureSimple(b *testing.B) {
    61  	for i := 0; i < b.N; i++ {
    62  		SignatureOf("", int32(0))
    63  	}
    64  }
    65  
    66  func BenchmarkGetSignatureLong(b *testing.B) {
    67  	for i := 0; i < b.N; i++ {
    68  		SignatureOf(getSigTest...)
    69  	}
    70  }
    71  

View as plain text