Add unitary tests for matfile_ (matio based) functions 24/10024/2
Sylvestre Ledru [Thu, 13 Dec 2012 13:38:19 +0000 (14:38 +0100)]
Change-Id: Icde5bd406bbeb1d9802a3773d4a277e57bbbb9db

scilab/modules/matio/tests/unit_tests/matfile_close.dia.ref [new file with mode: 0644]
scilab/modules/matio/tests/unit_tests/matfile_close.tst [new file with mode: 0644]
scilab/modules/matio/tests/unit_tests/matfile_listvar.dia.ref [new file with mode: 0644]
scilab/modules/matio/tests/unit_tests/matfile_listvar.tst [new file with mode: 0644]
scilab/modules/matio/tests/unit_tests/matfile_open.dia.ref [new file with mode: 0644]
scilab/modules/matio/tests/unit_tests/matfile_open.tst [new file with mode: 0644]
scilab/modules/matio/tests/unit_tests/matfile_varreadnext.dia.ref [new file with mode: 0644]
scilab/modules/matio/tests/unit_tests/matfile_varreadnext.tst [new file with mode: 0644]
scilab/modules/matio/tests/unit_tests/matfile_varwrite.dia.ref [new file with mode: 0644]
scilab/modules/matio/tests/unit_tests/matfile_varwrite.tst [new file with mode: 0644]

diff --git a/scilab/modules/matio/tests/unit_tests/matfile_close.dia.ref b/scilab/modules/matio/tests/unit_tests/matfile_close.dia.ref
new file mode 100644 (file)
index 0000000..322297f
--- /dev/null
@@ -0,0 +1,18 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - S/E - Sylvestre Ledru
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+filename=TMPDIR+"/test_matfile.mat";
+A = rand(10,10);
+B = sprand(100,100,0.1);
+savematfile(filename,'A','B','-v6');
+clear();
+filename=TMPDIR+"/test_matfile.mat";
+fd = matfile_open(filename);
+assert_checkequal(fd, 0);
+assert_checkequal(matfile_close(fd), %t);
+assert_checktrue(isfile(filename));
+assert_checkequal(matfile_close(fd), %f);
+File already closed.
diff --git a/scilab/modules/matio/tests/unit_tests/matfile_close.tst b/scilab/modules/matio/tests/unit_tests/matfile_close.tst
new file mode 100644 (file)
index 0000000..7c5aed9
--- /dev/null
@@ -0,0 +1,19 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - S/E - Sylvestre Ledru
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+filename=TMPDIR+"/test_matfile.mat";
+
+A = rand(10,10);
+B = sprand(100,100,0.1);
+savematfile(filename,'A','B','-v6');
+clear();
+filename=TMPDIR+"/test_matfile.mat";
+fd = matfile_open(filename);
+assert_checkequal(fd, 0);
+assert_checkequal(matfile_close(fd), %t);
+assert_checktrue(isfile(filename));
+assert_checkequal(matfile_close(fd), %f);
diff --git a/scilab/modules/matio/tests/unit_tests/matfile_listvar.dia.ref b/scilab/modules/matio/tests/unit_tests/matfile_listvar.dia.ref
new file mode 100644 (file)
index 0000000..e2e3385
--- /dev/null
@@ -0,0 +1,29 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - S/E - Sylvestre Ledru
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+filename=TMPDIR+"/test_matfile.mat";
+A = rand(10,10);
+B = sprand(100,100,0.1);
+C = "foo";
+D = "bar";
+savematfile(filename,'A','B','C','D','-v6');
+clear();
+filename=TMPDIR+"/test_matfile.mat";
+fd = matfile_open(filename);
+[name, classes, types]=matfile_listvar(fd);
+assert_checkequal(matfile_close(fd), %t);
+assert_checkequal(name(1), "A");
+assert_checkequal(name(2), "B");
+assert_checkequal(name(3), "C");
+assert_checkequal(name(4), "D");
+assert_checkequal(types(1), 9);
+assert_checkequal(types(2), 9);
+assert_checkequal(types(3), 2);
+assert_checkequal(types(4), 2);
+assert_checkequal(classes(1), 6);
+assert_checkequal(classes(2), 5);
+assert_checkequal(classes(3), 4);
+assert_checkequal(classes(4), 4);
diff --git a/scilab/modules/matio/tests/unit_tests/matfile_listvar.tst b/scilab/modules/matio/tests/unit_tests/matfile_listvar.tst
new file mode 100644 (file)
index 0000000..fc45c30
--- /dev/null
@@ -0,0 +1,33 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - S/E - Sylvestre Ledru
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+filename=TMPDIR+"/test_matfile.mat";
+
+A = rand(10,10);
+B = sprand(100,100,0.1);
+C = "foo";
+D = "bar";
+savematfile(filename,'A','B','C','D','-v6');
+clear();
+filename=TMPDIR+"/test_matfile.mat";
+fd = matfile_open(filename);
+[name, classes, types]=matfile_listvar(fd);
+assert_checkequal(matfile_close(fd), %t);
+
+assert_checkequal(name(1), "A");
+assert_checkequal(name(2), "B");
+assert_checkequal(name(3), "C");
+assert_checkequal(name(4), "D");
+
+assert_checkequal(types(1), 9);
+assert_checkequal(types(2), 9);
+assert_checkequal(types(3), 2);
+assert_checkequal(types(4), 2);
+
+assert_checkequal(classes(1), 6);
+assert_checkequal(classes(2), 5);
+assert_checkequal(classes(3), 4);
+assert_checkequal(classes(4), 4);
diff --git a/scilab/modules/matio/tests/unit_tests/matfile_open.dia.ref b/scilab/modules/matio/tests/unit_tests/matfile_open.dia.ref
new file mode 100644 (file)
index 0000000..c695458
--- /dev/null
@@ -0,0 +1,16 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - S/E - Sylvestre Ledru
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+filename=TMPDIR+"/test_matfile.mat";
+A = rand(10,10);
+B = sprand(100,100,0.1);
+savematfile(filename,'A','B','-v6');
+clear();
+filename=TMPDIR+"/test_matfile.mat";
+fd = matfile_open(filename);
+assert_checkequal(fd, 0);
+matfile_close(fd);
+assert_checktrue(isfile(filename));
diff --git a/scilab/modules/matio/tests/unit_tests/matfile_open.tst b/scilab/modules/matio/tests/unit_tests/matfile_open.tst
new file mode 100644 (file)
index 0000000..1f40387
--- /dev/null
@@ -0,0 +1,18 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - S/E - Sylvestre Ledru
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+filename=TMPDIR+"/test_matfile.mat";
+
+A = rand(10,10);
+B = sprand(100,100,0.1);
+savematfile(filename,'A','B','-v6');
+clear();
+filename=TMPDIR+"/test_matfile.mat";
+fd = matfile_open(filename);
+assert_checkequal(fd, 0);
+matfile_close(fd);
+assert_checktrue(isfile(filename));
diff --git a/scilab/modules/matio/tests/unit_tests/matfile_varreadnext.dia.ref b/scilab/modules/matio/tests/unit_tests/matfile_varreadnext.dia.ref
new file mode 100644 (file)
index 0000000..fbc568c
--- /dev/null
@@ -0,0 +1,30 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - S/E - Sylvestre Ledru
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+filename=TMPDIR+"/test_matfile.mat";
+A = rand(10,10);
+B = sprand(100,100,0.1);
+C = "foo";
+D = "bar";
+savematfile(filename,'A','B','C','D','-v6');
+fd = matfile_open(filename);
+[Name, Value, Type] = matfile_varreadnext(fd);
+assert_checkequal(Name, "A");
+assert_checkequal(Value, A);
+assert_checkequal(Type, 6);
+[Name, Value, Type] = matfile_varreadnext(fd);
+assert_checkequal(Name, "B");
+assert_checkequal(Value, B);
+assert_checkequal(Type, 5);
+[Name, Value, Type] = matfile_varreadnext(fd);
+assert_checkequal(Name, "C");
+assert_checkequal(Value, "foo");
+assert_checkequal(Type, 4);
+[Name, Value, Type] = matfile_varreadnext(fd);
+assert_checkequal(Name, "D");
+assert_checkequal(Value, "bar");
+assert_checkequal(Type, 4);
+assert_checkequal(matfile_close(fd), %t);
diff --git a/scilab/modules/matio/tests/unit_tests/matfile_varreadnext.tst b/scilab/modules/matio/tests/unit_tests/matfile_varreadnext.tst
new file mode 100644 (file)
index 0000000..d7b1c9a
--- /dev/null
@@ -0,0 +1,37 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - S/E - Sylvestre Ledru
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+filename=TMPDIR+"/test_matfile.mat";
+
+A = rand(10,10);
+B = sprand(100,100,0.1);
+C = "foo";
+D = "bar";
+savematfile(filename,'A','B','C','D','-v6');
+fd = matfile_open(filename);
+
+[Name, Value, Type] = matfile_varreadnext(fd);
+assert_checkequal(Name, "A");
+assert_checkequal(Value, A);
+assert_checkequal(Type, 6);
+
+[Name, Value, Type] = matfile_varreadnext(fd);
+assert_checkequal(Name, "B");
+assert_checkequal(Value, B);
+assert_checkequal(Type, 5);
+
+[Name, Value, Type] = matfile_varreadnext(fd);
+assert_checkequal(Name, "C");
+assert_checkequal(Value, "foo");
+assert_checkequal(Type, 4);
+
+[Name, Value, Type] = matfile_varreadnext(fd);
+assert_checkequal(Name, "D");
+assert_checkequal(Value, "bar");
+assert_checkequal(Type, 4);
+
+assert_checkequal(matfile_close(fd), %t);
\ No newline at end of file
diff --git a/scilab/modules/matio/tests/unit_tests/matfile_varwrite.dia.ref b/scilab/modules/matio/tests/unit_tests/matfile_varwrite.dia.ref
new file mode 100644 (file)
index 0000000..ec1d23f
--- /dev/null
@@ -0,0 +1,20 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - S/E - Sylvestre Ledru
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+filename=TMPDIR+"/test_matfile.mat";
+fd = matfile_open(filename,"w");
+matfile_varwrite(fd, "foo", "bar", %t);
+A=rand(10,10);
+matfile_varwrite(fd, "a", A, %t);
+matfile_close(fd);
+assert_checktrue(isfile(filename));
+fd = matfile_open(filename);
+assert_checkequal(matfile_listvar(fd),["foo";"a"]);
+matfile_close(fd);
+assert_checktrue(isfile(filename));
+loadmatfile(filename);
+assert_checkequal(foo,"bar");
+assert_checkequal(a,A);
diff --git a/scilab/modules/matio/tests/unit_tests/matfile_varwrite.tst b/scilab/modules/matio/tests/unit_tests/matfile_varwrite.tst
new file mode 100644 (file)
index 0000000..0a0c697
--- /dev/null
@@ -0,0 +1,23 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - S/E - Sylvestre Ledru
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+filename=TMPDIR+"/test_matfile.mat";
+fd = matfile_open(filename,"w");
+matfile_varwrite(fd, "foo", "bar", %t);
+A=rand(10,10);
+matfile_varwrite(fd, "a", A, %t);
+matfile_close(fd);
+assert_checktrue(isfile(filename));
+
+fd = matfile_open(filename);
+assert_checkequal(matfile_listvar(fd),["foo";"a"]);
+matfile_close(fd);
+assert_checktrue(isfile(filename));
+
+loadmatfile(filename);
+assert_checkequal(foo,"bar");
+assert_checkequal(a,A);