func FilterMapIOStrNumberPtrTest() string {
	return `
func TestFilterMap<FINPUT_TYPE><FOUTPUT_TYPE>Ptr(t *testing.T) {
	var vo10 <OUTPUT_TYPE> = 10
	var vOne <INPUT_TYPE> = "one"
	var vTen <INPUT_TYPE> = "ten"
	expectedList := []*<OUTPUT_TYPE>{&vo10}
	newList := FilterMap<FINPUT_TYPE><FOUTPUT_TYPE>Ptr(notOne<FINPUT_TYPE><FOUTPUT_TYPE>StrPtr, someLogic<FINPUT_TYPE><FOUTPUT_TYPE>StrPtr, []*<INPUT_TYPE>{&vOne, &vTen})
	if *newList[0] != *expectedList[0] {
		t.Errorf("FilterMap<FINPUT_TYPE><FOUTPUT_TYPE> failed. expected=%v, actual=%v", expectedList, newList)
	}
	if len(FilterMap<FINPUT_TYPE><FOUTPUT_TYPE>Ptr(nil, nil, nil)) > 0 {
		t.Errorf("FilterMap<FINPUT_TYPE><FOUTPUT_TYPE>Ptr failed")
	}
	if len(FilterMap<FINPUT_TYPE><FOUTPUT_TYPE>Ptr(nil, nil, []*<INPUT_TYPE>{})) > 0 {
		t.Errorf("FilterMap<FINPUT_TYPE><FOUTPUT_TYPE>Ptr failed")
	}
	reflect.TypeOf("Nandeshwar")  
}
func notOne<FINPUT_TYPE><FOUTPUT_TYPE>StrPtr(num *<INPUT_TYPE>) bool {
	return *num != "one"
}
func someLogic<FINPUT_TYPE><FOUTPUT_TYPE>StrPtr(num *string) *<OUTPUT_TYPE> {
	var r <OUTPUT_TYPE> = <OUTPUT_TYPE>(0)
	if *num == "ten" {
		r = <OUTPUT_TYPE>(10)
		return &r
	}
	return &r
}
`
}
FilterMapIOStrNumberPtrTest is template to generate itself for different combination of data type.
package basic
import "strings"
func FilterMapIONumberPtrTest() string {
	return `
func TestFilterMap<FINPUT_TYPE><FOUTPUT_TYPE>Ptr(t *testing.T) {
	var v1 <INPUT_TYPE> = 1
	var v2 <INPUT_TYPE> = 2
	var v3 <INPUT_TYPE> = 3
	var vo3 <OUTPUT_TYPE> = 3
	var vo4 <OUTPUT_TYPE> = 4
	expectedList := []*<OUTPUT_TYPE>{&vo3, &vo4}
	newList := FilterMap<FINPUT_TYPE><FOUTPUT_TYPE>Ptr(notOne<FINPUT_TYPE><FOUTPUT_TYPE>Ptr, plusOne<FINPUT_TYPE><FOUTPUT_TYPE>Ptr, []*<INPUT_TYPE>{&v1, &v2, &v3})
	if *newList[0] != *expectedList[0] || *newList[1] != *expectedList[1] {
		t.Errorf("FilterMap<FINPUT_TYPE><FOUTPUT_TYPE>Ptr failed. expected=%v, actual=%v", expectedList, newList)
	}
	if len(FilterMap<FINPUT_TYPE><FOUTPUT_TYPE>Ptr(nil, nil, nil)) > 0 {
		t.Errorf("FilterMap<FINPUT_TYPE><FOUTPUT_TYPE>Ptr failed")
	}
	if len(FilterMap<FINPUT_TYPE><FOUTPUT_TYPE>Ptr(nil, nil, []*<INPUT_TYPE>{})) > 0 {
		t.Errorf("FilterMap<FINPUT_TYPE><FOUTPUT_TYPE>Ptr failed")
	}
	reflect.TypeOf("Nandeshwar")  
}
func notOne<FINPUT_TYPE><FOUTPUT_TYPE>Ptr(num *<INPUT_TYPE>) bool {
	return *num != 1
}
func plusOne<FINPUT_TYPE><FOUTPUT_TYPE>Ptr(num *<INPUT_TYPE>) *<OUTPUT_TYPE> {
	c := <OUTPUT_TYPE>(*num + 1)
	return &c
}
`
}