aboutsummaryrefslogtreecommitdiffstats
path: root/container-search/src/test/java/com/yahoo/search/grouping/request/MathFunctionsTestCase.java
blob: 823993b6bc696b7222a016f24f41fe1658efb0c2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.search.grouping.request;

import org.junit.jupiter.api.Test;

import static org.junit.jupiter.api.Assertions.*;

/**
 * @author Einar M R Rosenvinge
 */
public class MathFunctionsTestCase {

    @Test
    void testMathFunctions() {
        //if this fails, update the count AND add a test in each of the two blocks below
        assertEquals(21, MathFunctions.Function.values().length);

        assertSame(MathFunctions.Function.create(0), MathFunctions.Function.EXP);
        assertSame(MathFunctions.Function.create(1), MathFunctions.Function.POW);
        assertSame(MathFunctions.Function.create(2), MathFunctions.Function.LOG);
        assertSame(MathFunctions.Function.create(3), MathFunctions.Function.LOG1P);
        assertSame(MathFunctions.Function.create(4), MathFunctions.Function.LOG10);
        assertSame(MathFunctions.Function.create(5), MathFunctions.Function.SIN);
        assertSame(MathFunctions.Function.create(6), MathFunctions.Function.ASIN);
        assertSame(MathFunctions.Function.create(7), MathFunctions.Function.COS);
        assertSame(MathFunctions.Function.create(8), MathFunctions.Function.ACOS);
        assertSame(MathFunctions.Function.create(9), MathFunctions.Function.TAN);
        assertSame(MathFunctions.Function.create(10), MathFunctions.Function.ATAN);
        assertSame(MathFunctions.Function.create(11), MathFunctions.Function.SQRT);
        assertSame(MathFunctions.Function.create(12), MathFunctions.Function.SINH);
        assertSame(MathFunctions.Function.create(13), MathFunctions.Function.ASINH);
        assertSame(MathFunctions.Function.create(14), MathFunctions.Function.COSH);
        assertSame(MathFunctions.Function.create(15), MathFunctions.Function.ACOSH);
        assertSame(MathFunctions.Function.create(16), MathFunctions.Function.TANH);
        assertSame(MathFunctions.Function.create(17), MathFunctions.Function.ATANH);
        assertSame(MathFunctions.Function.create(18), MathFunctions.Function.CBRT);
        assertSame(MathFunctions.Function.create(19), MathFunctions.Function.HYPOT);
        assertSame(MathFunctions.Function.create(20), MathFunctions.Function.FLOOR);

        assertTrue(MathFunctions.newInstance(MathFunctions.Function.EXP, null, null) instanceof MathExpFunction);
        assertTrue(MathFunctions.newInstance(MathFunctions.Function.POW, null, null) instanceof MathPowFunction);
        assertTrue(MathFunctions.newInstance(MathFunctions.Function.LOG, null, null) instanceof MathLogFunction);
        assertTrue(MathFunctions.newInstance(MathFunctions.Function.LOG1P, null, null) instanceof MathLog1pFunction);
        assertTrue(MathFunctions.newInstance(MathFunctions.Function.LOG10, null, null) instanceof MathLog10Function);
        assertTrue(MathFunctions.newInstance(MathFunctions.Function.SIN, null, null) instanceof MathSinFunction);
        assertTrue(MathFunctions.newInstance(MathFunctions.Function.ASIN, null, null) instanceof MathASinFunction);
        assertTrue(MathFunctions.newInstance(MathFunctions.Function.COS, null, null) instanceof MathCosFunction);
        assertTrue(MathFunctions.newInstance(MathFunctions.Function.ACOS, null, null) instanceof MathACosFunction);
        assertTrue(MathFunctions.newInstance(MathFunctions.Function.TAN, null, null) instanceof MathTanFunction);
        assertTrue(MathFunctions.newInstance(MathFunctions.Function.ATAN, null, null) instanceof MathATanFunction);
        assertTrue(MathFunctions.newInstance(MathFunctions.Function.SQRT, null, null) instanceof MathSqrtFunction);
        assertTrue(MathFunctions.newInstance(MathFunctions.Function.SINH, null, null) instanceof MathSinHFunction);
        assertTrue(MathFunctions.newInstance(MathFunctions.Function.ASINH, null, null) instanceof MathASinHFunction);
        assertTrue(MathFunctions.newInstance(MathFunctions.Function.COSH, null, null) instanceof MathCosHFunction);
        assertTrue(MathFunctions.newInstance(MathFunctions.Function.ACOSH, null, null) instanceof MathACosHFunction);
        assertTrue(MathFunctions.newInstance(MathFunctions.Function.TANH, null, null) instanceof MathTanHFunction);
        assertTrue(MathFunctions.newInstance(MathFunctions.Function.ATANH, null, null) instanceof MathATanHFunction);
        assertTrue(MathFunctions.newInstance(MathFunctions.Function.CBRT, null, null) instanceof MathCbrtFunction);
        assertTrue(MathFunctions.newInstance(MathFunctions.Function.HYPOT, null, null) instanceof MathHypotFunction);
        assertTrue(MathFunctions.newInstance(MathFunctions.Function.FLOOR, null, null) instanceof MathFloorFunction);
    }

}