### Question:
AltBn128Point extends AbstractFieldPoint<AltBn128Point> { public static final AltBn128Point g1() { return new AltBn128Point(Fq.create(1), Fq.create(2)); } AltBn128Point(final Fq x, final Fq y); static final AltBn128Point g1(); Fq getX(); Fq getY(); @SuppressWarnings({"unchecked", "rawtypes"}) boolean isOnCurve();  }### Answer:
@Test public void shouldReturnEquivalentValueByAdditionAndDouble() { assertThat(AltBn128Point.g1().doub().add(AltBn128Point.g1()).add(AltBn128Point.g1())) .isEqualTo(AltBn128Point.g1().doub().doub()); }
@Test public void shouldReturnInequivalentValueOnIdentityVsDouble() { assertThat(AltBn128Point.g1().doub()).isNotEqualTo(AltBn128Point.g1()); }
@Test public void shouldReturnEqualityOfValueByEquivalentAdditionMultiplication() { assertThat( AltBn128Point.g1() .multiply(BigInteger.valueOf(9)) .add(AltBn128Point.g1().multiply(BigInteger.valueOf(5)))) .isEqualTo( AltBn128Point.g1() .multiply(BigInteger.valueOf(12)) .add(AltBn128Point.g1().multiply(BigInteger.valueOf(2)))); }
@Test public void shouldReturnInfinityOnMultiplicationByCurveOrder() { final BigInteger curveOrder = new BigInteger( "21888242871839275222246405745257275088548364400416034343698204186575808495617"); assertThat(AltBn128Point.g1().multiply(curveOrder).isInfinity()).isTrue(); }