Skip to content

Commit aea78dd

Browse files
committed
Add/Improve contour color map test cases
1 parent af9a1d3 commit aea78dd

File tree

1 file changed

+69
-4
lines changed

1 file changed

+69
-4
lines changed

test/jasmine/tests/contour_test.js

Lines changed: 69 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,22 @@ describe('contour defaults', function() {
120120
describe('contour makeColorMap', function() {
121121
'use strict';
122122

123-
it('should make correct color map function (\'fill\' coloring case)', function() {
123+
function _makeColorMap(trace) {
124+
trace.type = 'contour';
125+
if(trace.z === undefined) {
126+
trace.z = [[0]]; // dummy data for calc to work properly
127+
}
128+
var gd = { data: [trace] };
129+
supplyAllDefaults(gd);
130+
131+
var fullTrace = gd._fullData[0];
132+
fullTrace._extremes = {};
133+
Contour.calc(gd, fullTrace);
134+
135+
return makeColorMap(fullTrace);
136+
}
137+
138+
it('should make correct color map function (\'fill\' coloring case 1)', function() {
124139
var trace = {
125140
contours: {
126141
coloring: 'fill',
@@ -141,7 +156,7 @@ describe('contour makeColorMap', function() {
141156
]]
142157
};
143158

144-
var colorMap = makeColorMap(trace);
159+
var colorMap = _makeColorMap(trace);
145160

146161
expect(colorMap.domain()).toEqual(
147162
[-1.75, -0.75, 0.25, 1.25, 2.25]
@@ -151,6 +166,56 @@ describe('contour makeColorMap', function() {
151166
'rgb(12,51,131)', 'rgb(10,136,186)', 'rgb(242,211,56)',
152167
'rgb(242,143,56)', 'rgb(217,30,30)'
153168
]);
169+
170+
// Set lower/upper bounds of the color domain via zmin/zmax
171+
trace.zmin = -5;
172+
trace.zmax = 5;
173+
174+
colorMap = _makeColorMap(trace);
175+
176+
expect(colorMap.domain()).toEqual(
177+
[-5, -1.75, -0.75, 0.25, 1.25, 2.25, 5]
178+
);
179+
180+
expect(colorMap.range()).toEqual([
181+
'rgb(12,51,131)', 'rgb(12,51,131)', 'rgb(10,136,186)', 'rgb(242,211,56)',
182+
'rgb(242,143,56)', 'rgb(217,30,30)', 'rgb(217,30,30)'
183+
]);
184+
});
185+
186+
it('should make correct color map function (\'fill\' coloring case 2)', function() {
187+
var trace = {
188+
z: [[0, 1]],
189+
autocontour: true,
190+
contours: {
191+
coloring: 'fill'
192+
},
193+
colorscale: colorScales.RdBu,
194+
};
195+
196+
var colorMap = _makeColorMap(trace);
197+
var domain = colorMap.domain();
198+
var range = colorMap.range();
199+
200+
expect(domain[0]).toBe(0);
201+
expect(domain[domain.length - 1]).toBe(1);
202+
203+
expect(range[0]).toBe('rgb(5,10,172)');
204+
expect(range[range.length - 1]).toBe('rgb(178,10,28)');
205+
206+
// Set lower/upper bounds of the color domain via zmin/zmax
207+
trace.zmin = -1;
208+
trace.zmax = 2;
209+
210+
colorMap = _makeColorMap(trace);
211+
domain = colorMap.domain();
212+
range = colorMap.range();
213+
214+
expect(domain[0]).toBe(trace.zmin);
215+
expect(domain[domain.length - 1]).toBe(trace.zmax);
216+
217+
expect(range[0]).toBe('rgb(5,10,172)');
218+
expect(range[range.length - 1]).toBe('rgb(178,10,28)');
154219
});
155220

156221
it('should make correct color map function (\'heatmap\' coloring case)', function() {
@@ -166,7 +231,7 @@ describe('contour makeColorMap', function() {
166231
zmax: 6
167232
};
168233

169-
var colorMap = makeColorMap(trace);
234+
var colorMap = _makeColorMap(trace);
170235

171236
expect(colorMap.domain()).toEqual(
172237
[1, 2.75, 3.5, 4, 4.5, 6]
@@ -189,7 +254,7 @@ describe('contour makeColorMap', function() {
189254
colorscale: colorScales.RdBu
190255
};
191256

192-
var colorMap = makeColorMap(trace);
257+
var colorMap = _makeColorMap(trace);
193258

194259
expect(colorMap.domain()).toEqual(
195260
[1.5, 2.9, 3.5, 3.9, 4.3, 5.5]

0 commit comments

Comments
 (0)