func DropWhilePtrErrBoolTest() string {
	return `
func TestDropWhile<FTYPE>PtrErr(t *testing.T) {
	var vt <TYPE> = true
	var vf <TYPE> = false
	expectedNewList := []*<TYPE>{&vf, &vt}
	NewList, _ := DropWhile<FTYPE>PtrErr(isTrue<FTYPE>PtrErr, []*<TYPE>{&vt, &vf, &vt})
	if *NewList[0] != *expectedNewList[0] || *NewList[1] != *expectedNewList[1] {
		t.Errorf("DropWhile<FTYPE>PtrErr failed. Expected New list=%v, actual list=%v", expectedNewList, NewList)
	}
	_, err := DropWhile<FTYPE>PtrErr(isTrue<FTYPE>PtrErr2, []*<TYPE>{&vt, &vf, &vt})
	if err == nil {
		t.Errorf("DropWhile<FTYPE>PtrErr failed. Expected New list=%v, actual list=%v", expectedNewList, NewList)
	}
	r, _ := DropWhile<FTYPE>PtrErr(nil, nil)
	if len(r) > 0 {
		t.Errorf("DropWhile<FTYPE>Ptr failed.")
	}
	r, _ = DropWhile<FTYPE>PtrErr(nil, []*<TYPE>{})
	if len(r) > 0 {
		t.Errorf("DropWhile<FTYPE>Ptr failed.")
	}
	r, _ = DropWhile<FTYPE>PtrErr(isTrue<FTYPE>PtrErr2, []*<TYPE>{})
	if len(r) > 0 {
		t.Errorf("DropWhile<FTYPE>Ptr failed.")
	}
}
func isTrueBoolPtrErr(v *bool) (bool, error) {
	return *v == true, nil
}
func isTrueBoolPtrErr2(v *bool) (bool, error) {
	if *v == false {
		return false, errors.New("false is invalid for this test")
	}
	return *v == true, nil
}
`
}
DropWhilePtrErrBoolTest is template
package basic
import "strings"
func DropWhilePtrTest() string {
	return `
func TestDropWhile<FTYPE>Ptr(t *testing.T) {
	var v2 <TYPE> = 2
	var v3 <TYPE> = 3
	var v4 <TYPE> = 4
	var v5 <TYPE> = 5
	expectedNewList := []*<TYPE>{&v3, &v4, &v5}
	NewList := DropWhile<FTYPE>Ptr(isEven<FTYPE>Ptr, []*<TYPE>{&v4, &v2, &v3, &v4, &v5})
	if *NewList[0] != *expectedNewList[0] || *NewList[1] != *expectedNewList[1] || *NewList[2] != *expectedNewList[2] {
		t.Errorf("DropWhile<FTYPE>Ptr failed. Expected New list=%v, actual list=%v", expectedNewList, NewList)
	}
	if len(DropWhile<FTYPE>Ptr(nil, nil)) > 0 {
		t.Errorf("DropWhile<FTYPE>Ptr failed.")
	}
	if len(DropWhile<FTYPE>Ptr(nil, []*<TYPE>{})) > 0 {
		t.Errorf("DropWhile<FTYPE>Ptr failed.")
		t.Errorf(reflect.String.String())
	}
	NewList = DropWhile<FTYPE>Ptr(isEven<FTYPE>Ptr, []*<TYPE>{&v4})
	if len(NewList) != 0 {
		t.Errorf("DropWhile<FTYPE>Ptr failed")
	}
}
`
}
func DropWhilePtrBoolTest() string {
	return `
func TestDropWhile<FTYPE>Ptr(t *testing.T) {
	var vt <TYPE> = true
	var vf <TYPE> = false
	expectedNewList := []*<TYPE>{&vf, &vt}
	NewList := DropWhile<FTYPE>Ptr(isTrue<FTYPE>Ptr, []*<TYPE>{&vt, &vf, &vt})
	if *NewList[0] != *expectedNewList[0] || *NewList[1] != *expectedNewList[1] {
		t.Errorf("DropWhile<FTYPE>Ptr failed. Expected New list=%v, actual list=%v", expectedNewList, NewList)
	}
}
`
}
func ReplaceActivityDropWhilePtr(code string) string {
	s1 := `func TestDropWhileStrPtr(t *testing.T) {
	var v2 string = "2"
	var v3 string = "3"
	var v4 string = "4"
	var v5 string = "5"
	expectedNewList := []*string{&v3, &v4, &v5}
	NewList := DropWhileStrPtr(isEvenStrPtr, []*string{&v4, &v2, &v3, &v4, &v5})
	if *NewList[0] != *expectedNewList[0] || *NewList[1] != *expectedNewList[1] || *NewList[2] != *expectedNewList[2] {
		t.Errorf("DropWhileStrPtr failed. Expected New list=%v, actual list=%v", expectedNewList, NewList)
	}
	if len(DropWhileStrPtr(nil, nil)) > 0 {
		t.Errorf("DropWhileStrPtr failed.")
	}
	if len(DropWhileStrPtr(nil, []*string{})) > 0 {
		t.Errorf("DropWhileStrPtr failed.")
		t.Errorf(reflect.String.String())
	}
	NewList = DropWhileStrPtr(isEvenStrPtr, []*string{&v4})
	if len(NewList) != 0 {
		t.Errorf("DropWhileStrPtr failed")
	}
}`
	s2 := `func TestDropWhileStrPtr(t *testing.T) {
	var v2 string = "2"
	var v3 string = "3"
	var v4 string = "4"
	var v5 string = "5"
	expectedNewList := []*string{&v3, &v4, &v5}
	NewList := DropWhileStrPtr(isEvenStrPtr, []*string{&v4, &v2, &v3, &v4, &v5})
	if *NewList[0] != *expectedNewList[0] || *NewList[1] != *expectedNewList[1] || *NewList[2] != *expectedNewList[2] {
		t.Errorf("DropWhileStrPtr failed. Expected New list=%v, actual list=%v", expectedNewList, NewList)
	}
	if len(DropWhileStrPtr(nil, nil)) > 0 {
		t.Errorf("DropWhileStrPtr failed.")
	}
	if len(DropWhileStrPtr(nil, []*string{})) > 0 {
		t.Errorf("DropWhileStrPtr failed.")
	}
	NewList = DropWhileStrPtr(isEvenStrPtr, []*string{&v4})
	if len(NewList) != 0 {
		t.Errorf("DropWhileStrPtr failed")
	}
}`
	code = strings.Replace(code, s1, s2, -1)
	return code
}
func DropWhilePtrErrTest() string {
	return `
func TestDropWhile<FTYPE>PtrErr(t *testing.T) {
	var v2 <TYPE> = 2
	var v3 <TYPE> = 3
	var v4 <TYPE> = 4
	var v5 <TYPE> = 5
	var v0 <TYPE>
	expectedNewList := []*<TYPE>{&v3, &v4, &v5}
	NewList, _ := DropWhile<FTYPE>PtrErr(isEven<FTYPE>PtrErr, []*<TYPE>{&v4, &v2, &v3, &v4, &v5})
	if *NewList[0] != *expectedNewList[0] || *NewList[1] != *expectedNewList[1] || *NewList[2] != *expectedNewList[2] {
		t.Errorf("DropWhile<FTYPE>PtrErr failed. Expected New list=%v, actual list=%v", expectedNewList, NewList)
	}
	_, err := DropWhile<FTYPE>PtrErr(isEven<FTYPE>PtrErr, []*<TYPE>{&v4, &v2, &v0, &v4, &v5})
	if err == nil {
		t.Errorf("DropWhile<FTYPE>PtrErr failed. Expected New list=%v, actual list=%v", expectedNewList, NewList)
	}
	r, _ := DropWhile<FTYPE>PtrErr(nil, nil)
	if len(r) > 0 {
		t.Errorf("DropWhile<FTYPE>Ptr failed.")
	}
	r, _ = DropWhile<FTYPE>PtrErr(nil, []*<TYPE>{})
	if len(r) > 0 {
		t.Errorf("DropWhile<FTYPE>Ptr failed.")
	}
	NewList, _ = DropWhile<FTYPE>PtrErr(isEven<FTYPE>PtrErr, []*<TYPE>{&v4})
	if len(NewList) != 0 {
		t.Errorf("DropWhile<FTYPE>PtrErr failed")
	}
}
`
}