Search in sources :

Example 1 with DivisionTransform

use of com.linkedin.pinot.core.operator.transform.function.DivisionTransform in project pinot by linkedin.

the class DivisionTransformTest method test.

/**
   * Tests that division of two columns as returned by the {@link DivisionTransform}
   * is as expected.
   */
@Test
public void test() {
    long seed = System.nanoTime();
    Random random = new Random(seed);
    double[] input1 = new double[NUM_ROWS];
    double[] input2 = new double[NUM_ROWS];
    double[] expected = new double[NUM_ROWS];
    for (int i = 0; i < NUM_ROWS; i++) {
        input1[i] = random.nextDouble();
        input2[i] = random.nextDouble();
        expected[i] = input1[i] / input2[i];
    }
    TransformFunction function = new DivisionTransform();
    double[] actual = function.transform(NUM_ROWS, new TransformTestUtils.TestBlockValSet(input1, NUM_ROWS), new TransformTestUtils.TestBlockValSet(input2, NUM_ROWS));
    for (int i = 0; i < NUM_ROWS; i++) {
        Assert.assertEquals(actual[i], expected[i], EPSILON, ("Random seed: " + seed));
    }
}
Also used : DivisionTransform(com.linkedin.pinot.core.operator.transform.function.DivisionTransform) Random(java.util.Random) TransformFunction(com.linkedin.pinot.core.operator.transform.function.TransformFunction) Test(org.testng.annotations.Test)

Aggregations

DivisionTransform (com.linkedin.pinot.core.operator.transform.function.DivisionTransform)1 TransformFunction (com.linkedin.pinot.core.operator.transform.function.TransformFunction)1 Random (java.util.Random)1 Test (org.testng.annotations.Test)1