diff +multiblock/DiffOpTest.m @ 201:38f203f00f3a feature/grids

Exeendend tests of multiblock.DiffOp.
author Jonatan Werpers <jonatan@werpers.com>
date Tue, 14 Jun 2016 15:07:34 +0200
parents 6054dcd3c8a9
children
line wrap: on
line diff
--- a/+multiblock/DiffOpTest.m	Mon Jun 13 16:50:16 2016 +0200
+++ b/+multiblock/DiffOpTest.m	Tue Jun 14 15:07:34 2016 +0200
@@ -3,18 +3,57 @@
 end
 
 function testCreation(testCase)
-    g = multiblock.Grid({},{});
-    doHand = @(grid,order)[];
-    order = 0;
-    do = multiblock.DiffOp(doHand, g, order);
+    do = newMultiblockOp();
 end
 
-function testMissing(testCase)
+function testSplitOp(testCase)
+    testCase.verifyFail();
+end
+
+function testBoundary_condition(testCase)
+    testCase.verifyFail();
+end
+
+function testInterface(testCase)
     testCase.verifyFail();
 end
 
+function testSize(testCase)
+    mbDo = newMultiblockOp();
+    testCase.verifyEqual(mbDo.size(), 15)
+end
 
-% function do = mockDiffOp()
-%     do.H = 1;
-%     do.D = 1;
-% end
\ No newline at end of file
+
+function do = mockDiffOp(size, bc, interface)
+    do.H = 1;
+    do.D = 1;
+
+    do.size = size;
+    do.boundary_condition = bc;
+    do.interface = interface;
+end
+
+
+function do = newMultiblockOp()
+    grids = {
+        grid.Cartesian([0 1 2], [3 4 5]);
+        grid.Cartesian([1 2 3], [10 20]);
+    };
+
+    conn = cell(2,2);
+    conn{1, 2} = {'s','n'};
+
+    mbGrid = multiblock.Grid(grids, conn);
+
+    function [c, p] = boundary_condition(~,~,~,~)
+        c = 1; p = 1;
+    end
+
+    function [c, p] = interface(~,~,~,~)
+        c = 1; p = 1;
+    end
+
+    doHand = @(grid,~)mockDiffOp(@(~)prod(grid.size()), @boundary_condition, @interface);
+
+    do = multiblock.DiffOp(doHand, mbGrid, 0);
+end
\ No newline at end of file