public static void CoseKeyHelpers_ECDsaParseCosePublicKey_HappyPath(string hexEncoding, string hexExpectedQx, string hexExpectedQy, string?expectedHashAlgorithmName, string curveFriendlyName) { ECPoint q = new ECPoint() { X = hexExpectedQx.HexToByteArray(), Y = hexExpectedQy.HexToByteArray() }; (ECDsa ecDsa, HashAlgorithmName? name) = CborCoseKeyHelpers.ParseECDsaPublicKey(hexEncoding.HexToByteArray()); using ECDsa _ = ecDsa; ECParameters ecParams = ecDsa.ExportParameters(includePrivateParameters: false); string?expectedCurveFriendlyName = NormalizeCurveForPlatform(curveFriendlyName).Oid.FriendlyName; Assert.True(ecParams.Curve.IsNamed); Assert.Equal(expectedCurveFriendlyName, ecParams.Curve.Oid.FriendlyName); Assert.Equal(q.X, ecParams.Q.X); Assert.Equal(q.Y, ecParams.Q.Y); Assert.Equal(expectedHashAlgorithmName, name?.Name);