Use AutoFixture for test data.
Rename existing SetStateByName test.

New tests will be added along the same lines to handle the other primitive
types of int, bool, etc.
Use explicit type to cast back to SampleType.

Using var on the `sut.Build()` line will always result in result being of
type `dynamic`, which we don't want. We need to explicitly specify the
type of the `result` variable to fix intellisense and compilation.
Set IntProperty.

This test has the effect of forcing the implementation to handle different
property names, etc.
R#: Extract Method.
R#: Extract Method.