@Test public void reduceReturnsExpectedResult() { for (int i=0; i<1000; i++) { // Arrange: final byte[] bytes = MathUtils.getRandomByteArray(64); // Act: final byte[] reduced1 = scalarOps.reduce(bytes); final byte[] reduced2 = MathUtils.reduceModGroupOrder(bytes); // Assert: Assert.assertThat(MathUtils.toBigInteger(reduced1).compareTo(MathUtils.getGroupOrder()), IsEqual.equalTo(-1)); Assert.assertThat(MathUtils.toBigInteger(reduced1).compareTo(new BigInteger("-1")), IsEqual.equalTo(1)); Assert.assertThat(reduced1, IsEqual.equalTo(reduced2)); } }