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 }