Skip to content

Commit

Permalink
'Functionize' test scripts to increase measured coverage
Browse files Browse the repository at this point in the history
For some reason Matlab includes test scripts in coverage report, thus
virtually depressing it a lot (all tests figure as 0% coverage, except
for when there is some local function, that appears as covered). So we
try a dumb solution (for a dumb problem): making all scripts functions.

Let's see...
  • Loading branch information
beddalumia committed Aug 19, 2022
1 parent f0ab6f9 commit c80bb75
Show file tree
Hide file tree
Showing 12 changed files with 425 additions and 379 deletions.
30 changes: 17 additions & 13 deletions .art/fireworks_test.m
Original file line number Diff line number Diff line change
@@ -1,20 +1,24 @@
disp('TESTING fireworks script [get_palette]')
function fireworks_test()

colorlab.enter
close all
clear
disp('TESTING fireworks script [get_palette]')

for shape = {'circle'}
figure('Name',shape{:})
for scheme = {'tab20','tab20c','Set2'}
target = [randi(20),randi(20)];
powder = get_palette(scheme{:});
boom(target,powder,shape{:})
colorlab.enter
close all
clear

for shape = {'circle'}
figure('Name',shape{:})
for scheme = {'tab20','tab20c','Set2'}
target = [randi(20),randi(20)];
powder = get_palette(scheme{:});
boom(target,powder,shape{:})
end
end
end

disp('>> All good!')
disp('------------')
disp('>> All good!')
disp('------------')

end

function boom(point,powder,shape)
for j = 1:10
Expand Down
68 changes: 36 additions & 32 deletions .art/leaves_test.m
Original file line number Diff line number Diff line change
@@ -1,36 +1,40 @@
disp('TESTING leaves script [set_palette]')

colorlab.enter
close all
clear

t=0:0.01:pi;
r=@rand;
c=@(f)cos(f*t);
s=@(f)sin(f*t);
hold on
for i=1:300
x=.01*c(1).^9.*c(5).^10+s(2)/4.*(1-s(10).^2/2).*(1-(c(1).*c(3)).^8);
y=s(1).*(1-s(10).^2/5.*(.5+s(2).^2))-.5;
rotate(fill(r()*5+x,r()*5+y,r(),'Linewidth',1),[0 0 1],r()*360);
end
axis equal off
set(gca,'Pos',[0 0 1 1])

set_palette summer
save_fig summer

set_palette YlGn
save_fig YlGn
function leaves_test()

disp('TESTING leaves script [set_palette]')

colorlab.enter
close all
clear

t=0:0.01:pi;
r=@rand;
c=@(f)cos(f*t);
s=@(f)sin(f*t);
hold on
for i=1:300
x=.01*c(1).^9.*c(5).^10+s(2)/4.*(1-s(10).^2/2).*(1-(c(1).*c(3)).^8);
y=s(1).*(1-s(10).^2/5.*(.5+s(2).^2))-.5;
rotate(fill(r()*5+x,r()*5+y,r(),'Linewidth',1),[0 0 1],r()*360);
end
axis equal off
set(gca,'Pos',[0 0 1 1])

set_palette summer
save_fig summer

set_palette YlGn
save_fig YlGn

set_palette autumn
save_fig autumn

set_palette lajollaS
save_fig lajollaS

disp('>> All good!')
disp('------------')

set_palette autumn
save_fig autumn

set_palette lajollaS
save_fig lajollaS

disp('>> All good!')
disp('------------')
end

function save_fig(name)
file = ['leaves_',name,'.png'];
Expand Down
76 changes: 40 additions & 36 deletions .art/lego_test.m
Original file line number Diff line number Diff line change
@@ -1,39 +1,43 @@
disp('TESTING lego script [+palette]')

colorlab.enter
close all
clear
import palette.*

%% MIXED

set(0,'DefaultAxesColorOrder','default')
legoland('default')
save_fig('default')
set(0,'DefaultAxesColorOrder',tab20)
legoland('tab20')
save_fig('tab20')
set(0,'DefaultAxesColorOrder',brewer([],'Pastel2'))
legoland('Pastel2')
save_fig('Pastel2')
set(0,'DefaultAxesColorOrder',brewer([],'Accent'))
legoland('Accent')
save_fig('Accent')
set(0,'DefaultAxesColorOrder',brewer([],'Paired'))
legoland('Paired')
save_fig('Paired')
set(0,'DefaultAxesColorOrder',brewer([],'Set1'))
legoland('Set1')
save_fig('Set1')
set(0,'DefaultAxesColorOrder',brewer([],'Dark2'))
legoland('Dark2')
save_fig('Dark2')
set(0,'DefaultAxesColorOrder',crameri('batlowS'))
legoland('batlowS')
save_fig('batlowS')

disp('>> All good!')
disp('------------')
function lego_test()

disp('TESTING lego script [+palette]')

colorlab.enter
close all
clear
import palette.*

%% MIXED

set(0,'DefaultAxesColorOrder','default')
legoland('default')
save_fig('default')
set(0,'DefaultAxesColorOrder',tab20)
legoland('tab20')
save_fig('tab20')
set(0,'DefaultAxesColorOrder',brewer([],'Pastel2'))
legoland('Pastel2')
save_fig('Pastel2')
set(0,'DefaultAxesColorOrder',brewer([],'Accent'))
legoland('Accent')
save_fig('Accent')
set(0,'DefaultAxesColorOrder',brewer([],'Paired'))
legoland('Paired')
save_fig('Paired')
set(0,'DefaultAxesColorOrder',brewer([],'Set1'))
legoland('Set1')
save_fig('Set1')
set(0,'DefaultAxesColorOrder',brewer([],'Dark2'))
legoland('Dark2')
save_fig('Dark2')
set(0,'DefaultAxesColorOrder',crameri('batlowS'))
legoland('batlowS')
save_fig('batlowS')

disp('>> All good!')
disp('------------')

end

function legoland(name)

Expand Down
50 changes: 27 additions & 23 deletions .art/rosa_test.m
Original file line number Diff line number Diff line change
@@ -1,33 +1,37 @@
disp('TESTING rosa script [set_palette]')
function rosa_test()

disp('TESTING rosa script [set_palette]')

colorlab.enter
close all
clear
colorlab.enter
close all
clear

n=3000;
[R,T]=ndgrid(linspace(0,1,n),linspace(-2,20*pi,n));
x=1-(.5)*((5/4)*(1-mod(3.6*T,2*pi)/pi).^2-.25).^2;
U=2*exp(-T/(8*pi));L=sin(U);J=cos(U);
y=1.99*(R.^2).*(1.2*R-1).^2.*L;
K=x.*(R.*L+y.*J);X=K.*sin(T);
Y=K.*cos(T);Z=x.*(R.*J-y.*L);
surf(X,Y,Z,'LineStyle','none');
grid,axis('off','equal');
n=3000;
[R,T]=ndgrid(linspace(0,1,n),linspace(-2,20*pi,n));
x=1-(.5)*((5/4)*(1-mod(3.6*T,2*pi)/pi).^2-.25).^2;
U=2*exp(-T/(8*pi));L=sin(U);J=cos(U);
y=1.99*(R.^2).*(1.2*R-1).^2.*L;
K=x.*(R.*L+y.*J);X=K.*sin(T);
Y=K.*cos(T);Z=x.*(R.*J-y.*L);
surf(X,Y,Z,'LineStyle','none');
grid,axis('off','equal');

set_palette viridis
save_fig viridis
set_palette viridis
save_fig viridis

set_palette batlow
save_fig batlow
set_palette batlow
save_fig batlow

set_palette cubehelix
save_fig cubehelix
set_palette cubehelix
save_fig cubehelix

set_palette magma
save_fig magma
set_palette magma
save_fig magma

disp('>> All good!')
disp('------------')
disp('>> All good!')
disp('------------')

end

function save_fig(name)
file = ['rosa_',name,'.png'];
Expand Down
34 changes: 19 additions & 15 deletions .test/test_X11.m
Original file line number Diff line number Diff line change
@@ -1,22 +1,26 @@
disp('TESTING X11 colorset [rgb.X11;rgb2hex;]')
function test_X11()

disp('TESTING X11 colorset [rgb.X11;rgb2hex;]')

colorlab.enter
close all
clear
colorlab.enter
close all
clear

names = rgb.X11('list');
disp('Are colornames unchanged?')
assert(isequal(names,reference_names),'X11 colornames have changed')
disp('> yes')
names = rgb.X11('list');
disp('Are colornames unchanged?')
assert(isequal(names,reference_names),'X11 colornames have changed')
disp('> yes')

colors = rgb2hex(rgb.X11(names));
refhex = rgb2hex(reference_colors);
disp('Are colors unchanged?')
assert(isequal(colors,refhex),'X11 colors have changed')
disp('> yes')
colors = rgb2hex(rgb.X11(names));
refhex = rgb2hex(reference_colors);
disp('Are colors unchanged?')
assert(isequal(colors,refhex),'X11 colors have changed')
disp('> yes')

disp('>> All good!')
disp('------------')
disp('>> All good!')
disp('------------')

end

function list = reference_names()

Expand Down
Loading

0 comments on commit c80bb75

Please sign in to comment.