github.com/haraldrudell/parl@v0.4.176/sets/e-string_test.go (about)

     1  /*
     2  © 2023–present Harald Rudell <harald.rudell@gmail.com> (https://haraldrudell.github.io/haraldrudell/)
     3  ISC License
     4  */
     5  
     6  package sets
     7  
     8  import "testing"
     9  
    10  func TestEpString(t *testing.T) {
    11  	//t.Fail()
    12  	var s, e string
    13  
    14  	s = eString[*int](nil)
    15  	e = "<nil>"
    16  	t.Logf("epString(nil) → ‘%v’", s)
    17  	if s != e {
    18  		t.Errorf("%q exp %q", s, e)
    19  	}
    20  
    21  	var i = 1
    22  	s = eString(i)
    23  	e = "1"
    24  	t.Logf("epString(1) → ‘%v’", s)
    25  	if s != e {
    26  		t.Errorf("%q exp %q", s, e)
    27  	}
    28  
    29  	s = eString(&i)
    30  	e = "1"
    31  	t.Logf("epString(&1) → ‘%v’", s)
    32  	if s != e {
    33  		t.Errorf("%q exp %q", s, e)
    34  	}
    35  
    36  	var text = "abc"
    37  	s = eString(&text)
    38  	e = "abc"
    39  	t.Logf("epString(&abc) → ‘%v’", s)
    40  	if s != e {
    41  		t.Errorf("%q exp %q", s, e)
    42  	}
    43  
    44  	var h hasString
    45  	s = eString(h)
    46  	e = "string"
    47  	t.Logf("epString((*) String()) → ‘%v’", s)
    48  	if s != e {
    49  		t.Errorf("%q exp %q", s, e)
    50  	}
    51  
    52  	s = eString(&h)
    53  	e = "string"
    54  	t.Logf("epString(&(*) String()) → ‘%v’", s)
    55  	if s != e {
    56  		t.Errorf("%q exp %q", s, e)
    57  	}
    58  
    59  	var v valueString
    60  	s = eString(v)
    61  	e = "string"
    62  	t.Logf("epString(() String()) → ‘%v’", s)
    63  	if s != e {
    64  		t.Errorf("%q exp %q", s, e)
    65  	}
    66  
    67  	s = eString(&v)
    68  	e = "string"
    69  	t.Logf("epString(&() String()) → ‘%v’", s)
    70  	if s != e {
    71  		t.Errorf("%q exp %q", s, e)
    72  	}
    73  }
    74  
    75  type hasString struct{}
    76  
    77  func (h *hasString) String() (s string) {
    78  	return "string"
    79  }
    80  
    81  type valueString struct{}
    82  
    83  func (h valueString) String() (s string) {
    84  	return "string"
    85  }