1// =============================================================================
2// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3// Copyright (C) 2015 - Scilab Enterprises - Charlotte HECQUET - Calixte DENIZET
4//
5//  This file is distributed under the same license as the Scilab package.
6// =============================================================================
7//
8// <-- TEST WITH GRAPHIC -->
9//
10// <-- Short Description -->
11// Unit test for fec function
12//
13// First test: quadrangles+mesh
14a = [1 1;
15     2 1;
16     2 2;
17     1 2]
18 a  =
19   1.   1.
20   2.   1.
21   2.   2.
22   1.   2.
23x = a(:,1);
24y = a(:,2);
25triangle = [1 1 2 3 4 0];
26clf();
27f=gcf();
28f.color_map=jetcolormap(12);
29func = rand(4,1);
30fec(x,y,triangle,func,mesh=%t);
31assert_checkequal(f.children(1).children(1).children.data, [a func]);
32assert_checkequal(f.children(1).children(1).children.triangles, triangle);
33assert_checkequal(f.children(1).children(1).children.line_mode , "on");
34assert_checkequal(f.children(1).children(1).children.z_bounds, [0 0]);
35assert_checkequal(f.children(1).children(1).children.color_range, [0 0]);
36assert_checkequal(f.children(1).children(1).children.outside_colors, [0 0]);
37// Second test: quadrangles without mesh
38clf();
39f=gcf();
40func = rand(4,1);
41f.color_map=jetcolormap(12);
42fec(x,y,triangle,func,mesh=%f);
43assert_checkequal(f.children(1).children(1).children.data, [a func]);
44assert_checkequal(f.children(1).children(1).children.triangles, triangle);
45assert_checkequal(f.children(1).children(1).children.line_mode , "off");
46assert_checkequal(f.children(1).children(1).children.z_bounds, [0 0]);
47assert_checkequal(f.children(1).children(1).children.color_range, [0 0]);
48assert_checkequal(f.children(1).children(1).children.outside_colors, [0 0]);
49// Third test: quadrangles+[zmin zmax]
50clf();
51f=gcf();
52func = rand(4,1);
53f.color_map=jetcolormap(12);
54fec(x,y,triangle,func,zminmax=[0.25 0.5]);
55assert_checkequal(f.children(1).children(1).children.data, [a func]);
56assert_checkequal(f.children(1).children(1).children.triangles, triangle);
57assert_checkequal(f.children(1).children(1).children.line_mode , "off");
58assert_checkequal(f.children(1).children(1).children.z_bounds, [0.25 0.5]);
59assert_checkequal(f.children(1).children(1).children.color_range, [0 0]);
60assert_checkequal(f.children(1).children(1).children.outside_colors, [0 0]);
61// Forth test: quadrangles+colminmax
62clf();
63f=gcf();
64func = rand(4,1);
65f.color_map=jetcolormap(12);
66fec(x,y,triangle,func,colminmax=[1 6]);
67assert_checkequal(f.children(1).children(1).children.data, [a func]);
68assert_checkequal(f.children(1).children(1).children.triangles, triangle);
69assert_checkequal(f.children(1).children(1).children.line_mode , "off");
70assert_checkequal(f.children(1).children(1).children.z_bounds, [0 0]);
71assert_checkequal(f.children(1).children(1).children.color_range, [1 6]);
72assert_checkequal(f.children(1).children(1).children.outside_colors, [0 0]);
73// Fifth test: quadrangles+zminmax+colout
74clf();
75f=gcf();
76func = rand(4,1);
77f.color_map=jetcolormap(12);
78fec(x,y,triangle,func,zminmax=[0.25 0.75], colout=[0 0]);
79assert_checkequal(f.children(1).children(1).children.data, [a func]);
80assert_checkequal(f.children(1).children(1).children.triangles, triangle);
81assert_checkequal(f.children(1).children(1).children.line_mode , "off");
82assert_checkequal(f.children(1).children(1).children.z_bounds, [0.25 0.75]);
83assert_checkequal(f.children(1).children(1).children.color_range, [0 0]);
84assert_checkequal(f.children(1).children(1).children.outside_colors, [-1 -1]);
85close();
86