rename private namespace and macro function
added basic test for ScopeFunc.