annotate +grid/CurvilinearTest.m @ 170:62b5f3c34bcb feature/grids

Implemented Curvilinear and equdistantCurvilinear.
author Jonatan Werpers <jonatan@werpers.com>
date Thu, 25 Feb 2016 11:10:25 +0100
parents
children f7bb2a94d291
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
170
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
1 function tests = CurvilinearTest()
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
2 tests = functiontests(localfunctions);
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
3 end
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
4
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
5 function testMappingInputGridFunction(testCase)
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
6 in = {
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
7 {{1:10}, @(x) exp(x)},
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
8 {{1:10,1:6}, @(x,y) [exp(x+y); exp(x-y)]},
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
9 {{1:10,1:5,1:7}, @(x,y,z)[exp(x+y+z); exp(x-y-z); 2+x+y-z]},
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
10 };
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
11
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
12 out = {
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
13 [10, 1];
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
14 [10*6, 2];
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
15 [10*5*7, 3];
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
16 };
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
17
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
18
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
19 % How to test this? Just make sure it runs without errors.
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
20
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
21 for i = 1:length(in)
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
22 g = grid.Curvilinear(in{i}{2},in{i}{1}{:});
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
23 testCase.verifyEqual(size(g.coords),out{i});
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
24 end
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
25 end
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
26
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
27 function testMappingInputComponentMatrix(testCase)
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
28 in = {
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
29 {{1:3}, [1 2 3]'},
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
30 {{1:2, 1:3}, [1 2 3 4 5 6; 7 8 9 10 11 12]'},
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
31 };
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
32
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
33 for i = 1:length(in)
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
34 g = grid.Curvilinear(in{i}{2},in{i}{1}{:});
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
35 testCase.verifyEqual(g.coords,in{i}{2});
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
36 end
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
37 end
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
38
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
39 function testMappingInputCellOfMatrix(testCase)
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
40
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
41 in = {
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
42 {{1:3}, {[1 2 3]'}},
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
43 {{1:2, 1:3}, {[1 2 3; 4 5 6], [7 8 9; 10 11 12]}},
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
44 };
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
45
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
46 out = {
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
47 [1 2 3]',
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
48 [1 2 3 4 5 6; 7 8 9 10 11 12]',
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
49 };
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
50
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
51 for i = 1:length(in)
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
52 g = grid.Curvilinear(in{i}{2},in{i}{1}{:});
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
53 testCase.verifyEqual(g.coords,out{i});
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
54 end
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
55 end
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
56
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
57 function testMappingInputCellOfVectors(testCase)
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
58 in = {
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
59 {{1:3}, {[1 2 3]'}},
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
60 {{1:2, 1:3}, {[1 2 3 4 5 6]', [7 8 9 10 11 12]'}},
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
61 };
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
62
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
63 out = {
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
64 [1 2 3]',
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
65 [1 2 3 4 5 6; 7 8 9 10 11 12]',
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
66 };
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
67 end
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
68
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
69 function testMappingInputError(testCase)
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
70 testCase.assumeFail();
62b5f3c34bcb Implemented Curvilinear and equdistantCurvilinear.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
71 end