### Question:
Ed25519FieldElement implements Serializable { public Ed25519FieldElement add(final Ed25519FieldElement g) { final int[] gValues = g.values; final int[] h = new int[10]; for (int i = 0; i < 10; i++) { h[i] = this.values[i] + gValues[i]; } return new Ed25519FieldElement(h); } Ed25519FieldElement(final int[] values); static Ed25519FieldElement sqrt(final Ed25519FieldElement u, final Ed25519FieldElement v); int[] getRaw(); boolean isNonZero(); Ed25519FieldElement add(final Ed25519FieldElement g); Ed25519FieldElement subtract(final Ed25519FieldElement g); Ed25519FieldElement negate(); Ed25519FieldElement multiply(final Ed25519FieldElement g); Ed25519FieldElement square(); Ed25519FieldElement squareAndDouble(); Ed25519FieldElement invert(); Ed25519EncodedFieldElement encode(); boolean isNegative(); @Override int hashCode(); @Override boolean equals(final Object obj); @Override String toString();  }### Answer:
@Test public void addReturnsCorrectResult() { for (int i = 0; i < 1000; i++) { final Ed25519FieldElement f1 = MathUtils.getRandomFieldElement(); final Ed25519FieldElement f2 = MathUtils.getRandomFieldElement(); final BigInteger b1 = MathUtils.toBigInteger(f1); final BigInteger b2 = MathUtils.toBigInteger(f2); final Ed25519FieldElement f3 = f1.add(f2); assertEquals(f3, b1.add(b2)); } }