---------------------------------------------------------------------------
-- Rules: 
-- ------
-- 1) Any DB objects should be created w/o schema prefix,
--    since this file is executed in a separate schema context.
-- 2) There should be no DROP statements in this script, since
--    all objects created in the default schema will be cleaned-up outside.
---------------------------------------------------------------------------

---------------------------------------------------------------------------
-- Setup: 
---------------------------------------------------------------------------
CREATE FUNCTION install_test() 
RETURNS TEXT AS $$ 
declare
    an float[] := '{1,2,3}';
    b float[] := '{4,5,7}';
    result_num1 float := 0;
    result_num2 float := 0;
    result_num3 float := 0;
    result TEXT;
begin

    SELECT INTO result_num1 MADLIB_SCHEMA.array_dot(MADLIB_SCHEMA.array_mult(MADLIB_SCHEMA.array_add(an,b), MADLIB_SCHEMA.array_sub(an,b)),MADLIB_SCHEMA.array_div(an,b));
    b[4] = NULL;
    SELECT INTO result_num2 (MADLIB_SCHEMA.array_max(b)+MADLIB_SCHEMA.array_min(b)+MADLIB_SCHEMA.array_sum(b)+MADLIB_SCHEMA.array_sum_big(b)+
    MADLIB_SCHEMA.array_mean(b)+MADLIB_SCHEMA.array_stddev(b));
    SELECT INTO result_num3 MADLIB_SCHEMA.array_sum(MADLIB_SCHEMA.array_scalar_mult(MADLIB_SCHEMA.array_fill(MADLIB_SCHEMA.array_of_float(20), 234.343::FLOAT8),3.7::FLOAT));
    result_num1 = result_num1+result_num2+result_num3-17361.6696953194;
    
    SELECT INTO result CASE WHEN((result_num1 < .01)AND(result_num1 > -.01)) THEN 'PASS' ELSE 'FAIL' END;
    
    IF result = 'FAIL' THEN
        RAISE EXCEPTION 'Failed install check';
    END IF;
       
    RETURN result;
    
end $$ language plpgsql;

---------------------------------------------------------------------------
-- Test
---------------------------------------------------------------------------
SELECT install_test();