public void TestRandomValues_i() { var rand = new System.Random(); var buff = new Byte[8]; for(Int32 i = 0; i < Settings.NumTests; ++i) { rand.NextBytes(buff); UInt64 packed = BitConverter.ToUInt64(buff, 0); // Cannot guarantee that this packed value is valid. try { var packedObj = new NormalisedShort4(); packedObj.PackedValue = packed; Single realX, realY, realZ, realW = 0f; packedObj.UnpackTo(out realX, out realY, out realZ, out realW); var newPackedObj = new NormalisedShort4(realX, realY, realZ, realW); Assert.That(newPackedObj.PackedValue, Is.EqualTo(packed)); } catch(ArgumentException) { continue; } } }