Extract test functionality

Fix #101.
or make setting null resetting to the default. but i have no strong opinion, we can also leave like this.