public void testInvariants() { BigInteger a1 = BigInteger.ZERO; BigInteger a2 = BigInteger.ZERO; BigInteger a3 = BigInteger.ONE; BigInteger a4 = BigInteger.ONE.negate(); BigInteger a6 = BigInteger.ZERO; FiniteFieldPrime field = new FiniteFieldPrime(new BigInteger("751")); CubicCurve curve = new CubicCurve(a1, a2, a3, a4, a6, field); assertTrue(curve.b2().compareTo(BigInteger.ZERO) == 0); assertTrue(curve.b4().compareTo(new BigInteger("749")) == 0); assertTrue(curve.b6().compareTo(new BigInteger("1")) == 0); assertTrue(curve.b8().compareTo(new BigInteger("750")) == 0); assertTrue(curve.c4().compareTo(new BigInteger("48")) == 0); assertTrue(curve.c6().compareTo(new BigInteger("535")) == 0); assertTrue(curve.discriminant().compareTo(new BigInteger("37")) == 0); assertTrue(curve.j().compareTo(new BigInteger("533")) == 0); }