annotate isEquidistantTest.m @ 1037:2d7ba44340d0 feature/burgers1d

Pass scheme specific parameters as cell array. This will enabale constructDiffOps to be more general. In addition, allow for schemes returning function handles as diffOps, which is currently how non-linear schemes such as Burgers1d are implemented.
author Vidar Stiernström <vidar.stiernstrom@it.uu.se>
date Fri, 18 Jan 2019 09:02:02 +0100
parents b43c4d841afe
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
487
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
1 function tests = isEquidistantTest()
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
2 tests = functiontests(localfunctions);
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
3 end
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
4
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
5 function testTooShortInput(testCase)
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
6 testCase.verifyError(@()isEquidistant([]), 'sbplib:isEquidistant:inputTooShort')
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
7 end
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
8
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
9 function testCorrectOutput(testCase)
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
10 cases = {
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
11 % {input, expected},
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
12 {[0,0,0,0,0], true},
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
13 {[1,1,1,1,1], true},
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
14 {[1,2,3,4,5], true},
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
15 {[1,3,4,5], false},
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
16 {[1,2,3,5], false},
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
17 {[1,2,4,5], false},
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
18 {linspace(0,pi, 3), true},
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
19 {linspace(0,1, 4), true},
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
20 {linspace(0,1, 4123), true},
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
21 {linspace(0,sin(1), 123), true},
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
22 };
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
23
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
24 for i = 1:length(cases)
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
25 input = cases{i}{1};
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
26 expected = cases{i}{2};
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
27 result = isEquidistant(input);
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
28
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
29 testCase.verifyEqual(result,expected);
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
30 end
b43c4d841afe Add isEquidistant function for testing vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
31 end