public void ShouldGenerateSignaturesCorrectly(Curve curveEnum, string dHex, string qHex, string msgHex, string sigHex) { var d = LoadValue(dHex); var q = LoadValue(qHex); var msg = new BitString(msgHex); var expectedSig = LoadValue(sigHex); var factory = new EdwardsCurveFactory(); var curve = factory.GetCurve(curveEnum); var domainParams = new EdDomainParameters(curve, new NativeShaFactory()); var keyPair = new EdKeyPair(q, d); var subject = new EdDsa(EntropyProviderTypes.Testable); var result = subject.Sign(domainParams, keyPair, msg); Assert.IsTrue(result.Success); Assert.AreEqual(expectedSig, result.Signature.Sig, "sig"); }