Skip to content

Commit

Permalink
test_expanduser: add tests
Browse files Browse the repository at this point in the history
  • Loading branch information
scivision committed Feb 29, 2024
1 parent 9e354cb commit 7fba4ee
Show file tree
Hide file tree
Showing 2 changed files with 94 additions and 93 deletions.
98 changes: 94 additions & 4 deletions test/TestFileImpure.m
Original file line number Diff line number Diff line change
Expand Up @@ -15,17 +15,107 @@ function setup_path(tc)
methods (Test)

function test_expanduser(tc)
import matlab.unittest.constraints.EndsWithSubstring
import matlab.unittest.constraints.StartsWithSubstring

tc.verifyEmpty(stdlib.expanduser(string.empty))
tc.verifyEqual(stdlib.expanduser(""), "")

tc.verifyEqual(stdlib.expanduser("~abc"), "~abc")

tc.verifyThat(stdlib.expanduser('~/foo'), ~StartsWithSubstring("~"))
h = stdlib.fileio.homedir();
tc.verifyEqual(stdlib.expanduser("~"), h)

e = stdlib.expanduser("~/foo");
tc.verifyEqual(e, stdlib.posix(fullfile(h, "foo")))

end


function test_canonical(tc)
import matlab.unittest.fixtures.TemporaryFolderFixture
import matlab.unittest.fixtures.CurrentFolderFixture
import matlab.unittest.constraints.StartsWithSubstring

td = tc.applyFixture(TemporaryFolderFixture).Folder;
tc.applyFixture(CurrentFolderFixture(td))

% all non-existing files
tc.verifyEmpty(stdlib.canonical(string.empty))
tc.verifyEqual(stdlib.canonical(""), "")

pabs = stdlib.canonical('2foo');
tc.verifyThat(pabs, StartsWithSubstring("2foo"))

par1 = stdlib.canonical("../2foo");
tc.verifyNotEmpty(par1)
tc.verifyThat(par1, StartsWithSubstring(".."))

pt1 = stdlib.canonical("bar/../2foo");
tc.verifyEqual(pt1, "2foo")

% test existing file
r = stdlib.parent(mfilename('fullpath'));
rp = fullfile(r, "..");
tc.verifyEqual(stdlib.canonical(rp), stdlib.parent(r))

h = stdlib.fileio.homedir;
tc.verifyEqual(stdlib.canonical("~"), h)
tc.verifyEqual(stdlib.canonical("~/"), h)
tc.verifyEqual(stdlib.canonical("~/.."), stdlib.parent(h))

tc.verifyEqual(stdlib.canonical("nobody.txt"), "nobody.txt")
tc.verifyEqual(stdlib.canonical("../nobody.txt"), "../nobody.txt")

end


function test_resolve(tc)
import matlab.unittest.fixtures.TemporaryFolderFixture
import matlab.unittest.fixtures.CurrentFolderFixture
import matlab.unittest.constraints.StartsWithSubstring
import matlab.unittest.constraints.EndsWithSubstring
import matlab.unittest.constraints.ContainsSubstring

td = tc.applyFixture(TemporaryFolderFixture).Folder;
tc.applyFixture(CurrentFolderFixture(td))

% all non-existing files
tc.verifyEmpty(stdlib.resolve(string.empty))
tc.verifyEqual(stdlib.resolve(""), stdlib.fileio.posix(pwd))

pabs = stdlib.resolve('2foo');
pabs2 = stdlib.resolve('4foo');
tc.verifyThat(pabs, ~StartsWithSubstring("2"))
tc.verifyTrue(strncmp(pabs, pabs2, 2))

par1 = stdlib.resolve("../2foo");
tc.verifyNotEmpty(par1)
tc.verifyThat(par1, ~ContainsSubstring(".."))

par2 = stdlib.resolve("../4foo");
tc.verifyTrue(strncmp(par2, pabs2, 2))

pt1 = stdlib.resolve("bar/../2foo");
tc.verifyNotEmpty(pt1)
tc.verifyThat(pt1, ~ContainsSubstring(".."))

va = stdlib.resolve("2foo");
vb = stdlib.resolve("4foo");
tc.verifyThat(va, ~StartsWithSubstring("2"))
tc.verifyTrue(strncmp(va, vb, 2))

% test existing file
r = stdlib.parent(mfilename('fullpath'));
rp = fullfile(r, "..");
tc.verifyEqual(stdlib.resolve(rp), stdlib.parent(r))

h = stdlib.fileio.homedir;
tc.verifyEqual(stdlib.resolve("~"), h)
tc.verifyEqual(stdlib.resolve("~/"), h)
tc.verifyEqual(stdlib.resolve("~/.."), stdlib.parent(h))

tc.verifyEqual(stdlib.resolve("nobody.txt"), fullfile(td, "nobody.txt"))
tc.verifyEqual(stdlib.resolve("../nobody.txt"), fullfile(stdlib.parent(td), "nobody.txt"))

tc.verifyThat(stdlib.expanduser('~/foo'), EndsWithSubstring("foo"))
end


Expand Down
89 changes: 0 additions & 89 deletions test/TestFilePure.m
Original file line number Diff line number Diff line change
Expand Up @@ -146,95 +146,6 @@ function test_normalize(tc)
end


function test_canonical(tc)
import matlab.unittest.fixtures.TemporaryFolderFixture
import matlab.unittest.fixtures.CurrentFolderFixture
import matlab.unittest.constraints.StartsWithSubstring

td = tc.applyFixture(TemporaryFolderFixture).Folder;
tc.applyFixture(CurrentFolderFixture(td))

% all non-existing files
tc.verifyEmpty(stdlib.canonical(string.empty))
tc.verifyEqual(stdlib.canonical(""), "")

pabs = stdlib.canonical('2foo');
tc.verifyThat(pabs, StartsWithSubstring("2foo"))

par1 = stdlib.canonical("../2foo");
tc.verifyNotEmpty(par1)
tc.verifyThat(par1, StartsWithSubstring(".."))

pt1 = stdlib.canonical("bar/../2foo");
tc.verifyEqual(pt1, "2foo")

% test existing file
r = stdlib.parent(mfilename('fullpath'));
rp = fullfile(r, "..");
tc.verifyEqual(stdlib.canonical(rp), stdlib.parent(r))

h = stdlib.fileio.homedir;
tc.verifyEqual(stdlib.canonical("~"), h)
tc.verifyEqual(stdlib.canonical("~/"), h)
tc.verifyEqual(stdlib.canonical("~/.."), stdlib.parent(h))

tc.verifyEqual(stdlib.canonical("nobody.txt"), "nobody.txt")
tc.verifyEqual(stdlib.canonical("../nobody.txt"), "../nobody.txt")

end


function test_resolve(tc)
import matlab.unittest.fixtures.TemporaryFolderFixture
import matlab.unittest.fixtures.CurrentFolderFixture
import matlab.unittest.constraints.StartsWithSubstring
import matlab.unittest.constraints.EndsWithSubstring
import matlab.unittest.constraints.ContainsSubstring

td = tc.applyFixture(TemporaryFolderFixture).Folder;
tc.applyFixture(CurrentFolderFixture(td))

% all non-existing files
tc.verifyEmpty(stdlib.resolve(string.empty))
tc.verifyEqual(stdlib.resolve(""), stdlib.fileio.posix(pwd))

pabs = stdlib.resolve('2foo');
pabs2 = stdlib.resolve('4foo');
tc.verifyThat(pabs, ~StartsWithSubstring("2"))
tc.verifyTrue(strncmp(pabs, pabs2, 2))

par1 = stdlib.resolve("../2foo");
tc.verifyNotEmpty(par1)
tc.verifyThat(par1, ~ContainsSubstring(".."))

par2 = stdlib.resolve("../4foo");
tc.verifyTrue(strncmp(par2, pabs2, 2))

pt1 = stdlib.resolve("bar/../2foo");
tc.verifyNotEmpty(pt1)
tc.verifyThat(pt1, ~ContainsSubstring(".."))

va = stdlib.resolve("2foo");
vb = stdlib.resolve("4foo");
tc.verifyThat(va, ~StartsWithSubstring("2"))
tc.verifyTrue(strncmp(va, vb, 2))

% test existing file
r = stdlib.parent(mfilename('fullpath'));
rp = fullfile(r, "..");
tc.verifyEqual(stdlib.resolve(rp), stdlib.parent(r))

h = stdlib.fileio.homedir;
tc.verifyEqual(stdlib.resolve("~"), h)
tc.verifyEqual(stdlib.resolve("~/"), h)
tc.verifyEqual(stdlib.resolve("~/.."), stdlib.parent(h))

tc.verifyEqual(stdlib.resolve("nobody.txt"), fullfile(td, "nobody.txt"))
tc.verifyEqual(stdlib.resolve("../nobody.txt"), fullfile(stdlib.parent(td), "nobody.txt"))

end


function test_with_suffix(tc)

tc.verifyEmpty(stdlib.with_suffix(string.empty, ".nc"))
Expand Down

0 comments on commit 7fba4ee

Please sign in to comment.