validatePromotion
Validates that a promotion between two DTypes will produce the expected result.
Parameters
type1
The first data type
type2
The second data type
expectedResult
The expected promoted type
Throws
if promotion doesn't match expected result