Unit Test v/s PUT
A unit test is a method without parameters that represents a test case and typically executes a method of a class-under-test with fixed inputs and verifies that it returns the expected result.
A parameterized unit test (PUT) is simply a method that takes parameters, calls the code under test, and states assertions.
Parameterized unit tests separate two concerns:
1) They specify the external behavior of the involved methods for all test arguments.
2) Test cases can be re-obtained as traditional closed unit tests by instantiating the parameterized unit tests.