Added test framework.

`np` stands for non-proxy? I think a more descriptive name should help with readability.