File tree Expand file tree Collapse file tree 5 files changed +122
-31
lines changed Expand file tree Collapse file tree 5 files changed +122
-31
lines changed Original file line number Diff line number Diff line change 1+ package  pointerhelpers
2+ 
3+ // BoolHelper contains all Bool related 
4+ // pointer helpers 
5+ type  BoolHelper  struct  {
6+ }
7+ 
8+ // Bool returns a pointer to the Bool value passed in. 
9+ func  Bool (v  bool ) * bool  {
10+ 	return  & v 
11+ }
12+ 
13+ // Bool returns a pointer to the bool value passed in. 
14+ func  (b  * BoolHelper ) Bool (v  bool ) * bool  {
15+ 	return  Bool (v )
16+ }
17+ 
18+ // BoolValue returns the value of the bool pointer passed in or 
19+ // 0 if the pointer is nil. 
20+ func  BoolValue (v  * bool ) bool  {
21+ 	if  v  !=  nil  {
22+ 		return  * v 
23+ 	}
24+ 	return  false 
25+ }
26+ 
27+ // BoolValue returns the value of the bool pointer passed in or 
28+ // 0 if the pointer is nil. 
29+ func  (b  * BoolHelper ) BoolValue (v  * bool ) bool  {
30+ 	return  BoolValue (v )
31+ }
32+ 
33+ // BoolIsUnset returns true if the pointer is nil 
34+ func  BoolIsUnset (v  * bool ) bool  {
35+ 	return  v  ==  nil 
36+ }
37+ 
38+ // BoolIsUnset returns true if the pointer is nil 
39+ func  (b  * BoolHelper ) BoolIsUnset (v  * bool ) bool  {
40+ 	return  BoolIsUnset (v )
41+ }
Original file line number Diff line number Diff line change 1+ package  pointerhelpers
2+ 
3+ import  (
4+ 	"github.com/stretchr/testify/assert" 
5+ 	"testing" 
6+ )
7+ 
8+ func  TestBool (t  * testing.T ) {
9+ 	h  :=  BoolHelper {}
10+ 	want  :=  true 
11+ 	got  :=  h .Bool (want )
12+ 	assert .True (t , * got )
13+ }
14+ 
15+ func  TestBoolValue (t  * testing.T ) {
16+ 	t .Run ("when nil returns false" , func (t  * testing.T ) {
17+ 		h  :=  BoolHelper {}
18+ 		got  :=  h .BoolValue (nil )
19+ 		assert .False (t , got )
20+ 	})
21+ 	t .Run ("When true, returns true" , func (t  * testing.T ) {
22+ 		h  :=  BoolHelper {}
23+ 		got  :=  h .BoolValue (Bool (true ))
24+ 		assert .True (t , got )
25+ 	})
26+ 	t .Run ("When false, returns false" , func (t  * testing.T ) {
27+ 		h  :=  BoolHelper {}
28+ 		got  :=  h .BoolValue (Bool (false ))
29+ 		assert .False (t , got )
30+ 	})
31+ }
32+ 
33+ func  TestBoolIsUnset (t  * testing.T ) {
34+ 	t .Run ("when nil returns true" , func (t  * testing.T ) {
35+ 		h  :=  BoolHelper {}
36+ 		got  :=  h .BoolIsUnset (nil )
37+ 		assert .True (t , got )
38+ 	})
39+ 	t .Run ("When true, returns false" , func (t  * testing.T ) {
40+ 		h  :=  BoolHelper {}
41+ 		got  :=  h .BoolIsUnset (Bool (true ))
42+ 		assert .False (t , got )
43+ 	})
44+ 	t .Run ("When false, returns false" , func (t  * testing.T ) {
45+ 		h  :=  BoolHelper {}
46+ 		got  :=  h .BoolIsUnset (Bool (false ))
47+ 		assert .False (t , got )
48+ 	})
49+ }
Original file line number Diff line number Diff line change 11package  pointerhelpers
22
33import  (
4- 	 "github.com/stretchr/testify/assert" 
5- 	 "testing" 
4+ "github.com/stretchr/testify/assert" 
5+ "testing" 
66)
77
8- func  TestInt (t  * testing.T ) {
9- 	h  :=  StringHelper {}
10- 	want  :=  "foo" 
11- 	got  :=  h .String (want )
8+ func  TestInt64 (t  * testing.T ) {
9+ 	h  :=  Int64Helper {}
10+ 	want  :=  int64 ( 42 ) 
11+ 	got  :=  h .Int64 (want )
1212	assert .EqualValues (t , want , * got )
1313}
1414
15- func  TestStringValue (t  * testing.T ) {
16- 	t .Run ("when nil returns empty string" , func (t  * testing.T ) {
17- 		h  :=  StringHelper {}
18- 		want  :=  "" 
19- 		got  :=  h .StringValue (nil )
20- 		assert .Equal (t , want , got )
15+ func  TestInt64Value (t  * testing.T ) {
16+ 	t .Run ("when nil returns 0" , func (t  * testing.T ) {
17+ 		h  :=  Int64Helper {}
18+ 		got  :=  h .Int64Value (nil )
19+ 		assert .Equal (t , int64 (0 ), got )
2120	})
22- 	t .Run ("when set returns the given string " , func (t  * testing.T ) {
23- 		h  :=  StringHelper {}
24- 		want  :=  "foobar" 
25- 		got  :=  h .StringValue ( String ( want ) )
26- 		assert .Equal (t , want , got )
21+ 	t .Run ("when set returns the given int64 " , func (t  * testing.T ) {
22+ 		h  :=  Int64Helper {}
23+ 		want  :=  h . Int64 ( int64 ( 42 )) 
24+ 		got  :=  h .Int64Value ( want )
25+ 		assert .Equal (t , * want , got )
2726	})
2827}
Original file line number Diff line number Diff line change @@ -5,23 +5,24 @@ import (
55	"testing" 
66)
77
8- func  TestInt64 (t  * testing.T ) {
9- 	h  :=  Int64Helper {}
10- 	want  :=  int64 ( 42 ) 
11- 	got  :=  h .Int64 (want )
8+ func  TestInt (t  * testing.T ) {
9+ 	h  :=  StringHelper {}
10+ 	want  :=  "foo" 
11+ 	got  :=  h .String (want )
1212	assert .EqualValues (t , want , * got )
1313}
1414
15- func  TestInt64Value (t  * testing.T ) {
16- 	t .Run ("when nil returns 0" , func (t  * testing.T ) {
17- 		h  :=  Int64Helper {}
18- 		got  :=  h .Int64Value (nil )
19- 		assert .Equal (t , int64 (0 ), got )
15+ func  TestStringValue (t  * testing.T ) {
16+ 	t .Run ("when nil returns empty string" , func (t  * testing.T ) {
17+ 		h  :=  StringHelper {}
18+ 		want  :=  "" 
19+ 		got  :=  h .StringValue (nil )
20+ 		assert .Equal (t , want , got )
2021	})
21- 	t .Run ("when set returns the given int64 " , func (t  * testing.T ) {
22- 		h  :=  Int64Helper {}
23- 		want  :=  h . Int64 ( int64 ( 42 )) 
24- 		got  :=  h .Int64Value ( want )
25- 		assert .Equal (t , * want , got )
22+ 	t .Run ("when set returns the given string " , func (t  * testing.T ) {
23+ 		h  :=  StringHelper {}
24+ 		want  :=  "foobar" 
25+ 		got  :=  h .StringValue ( String ( want ) )
26+ 		assert .Equal (t , want , got )
2627	})
2728}
Original file line number Diff line number Diff line change @@ -5,4 +5,5 @@ package pointerhelpers
55type  PointerHelper  struct  {
66	StringHelper 
77	Int64Helper 
8+ 	BoolHelper 
89}
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments