Skip to content

Commit 8e291fe

Browse files
committed
[Matlab] Refactor nix.Utils.find index use
1 parent 4054e2f commit 8e291fe

File tree

6 files changed

+68
-65
lines changed

6 files changed

+68
-65
lines changed

+nix/Section.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,12 +95,12 @@
9595
r = nix.Utils.filter(obj, 'findRelated', filter, val, @nix.Section);
9696
end
9797

98-
% maxdepth is an index
98+
% maxdepth is handled like an index
9999
function r = find_sections(obj, max_depth)
100100
r = obj.find_filtered_sections(max_depth, nix.Filter.accept_all, '');
101101
end
102102

103-
% maxdepth is an index
103+
% maxdepth is handled like an index
104104
function r = find_filtered_sections(obj, max_depth, filter, val)
105105
r = nix.Utils.find(obj, 'findSections', max_depth, filter, val, @nix.Section);
106106
end

+nix/Utils.m

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,8 +152,11 @@
152152

153153
nix.Utils.valid_filter(filter, val);
154154

155+
% transform matlab to c++ style index
156+
md = nix.Utils.handle_index(max_depth);
157+
155158
mxMethod = strcat(obj.alias, '::', mxMethodName);
156-
list = nix_mx(mxMethod, obj.nix_handle, max_depth, uint8(filter), val);
159+
list = nix_mx(mxMethod, obj.nix_handle, md, uint8(filter), val);
157160
r = nix.Utils.createEntityArray(list, objConstructor);
158161
end
159162

@@ -165,7 +168,7 @@
165168
% Data must agree with file & dimensions; see mkarray.cc(42)
166169
r = permute(data, length(size(data)):-1:1);
167170
end
168-
171+
169172
function r = handle_index(idx)
170173
% Matlab uses 1-based indexing opposed to 0 based indexing in C++.
171174
% handle_index transforms a Matlab style index to a C++ style

tests/TestBlock.m

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1125,23 +1125,23 @@
11251125
end
11261126

11271127
% find all
1128-
filtered = b.find_sources(4);
1128+
filtered = b.find_sources(5);
11291129
assert(size(filtered, 1) == 10);
11301130

11311131
% find until level 4
1132-
filtered = b.find_sources(3);
1132+
filtered = b.find_sources(4);
11331133
assert(size(filtered, 1) == 10);
11341134

11351135
% find until level 3
1136-
filtered = b.find_sources(2);
1136+
filtered = b.find_sources(3);
11371137
assert(size(filtered, 1) == 6);
11381138

11391139
% find until level 2
1140-
filtered = b.find_sources(1);
1140+
filtered = b.find_sources(2);
11411141
assert(size(filtered, 1) == 3);
11421142

11431143
% find until level 1
1144-
filtered = b.find_sources(0);
1144+
filtered = b.find_sources(1);
11451145
assert(size(filtered, 1) == 1);
11461146
end
11471147

@@ -1165,46 +1165,46 @@
11651165
sl44 = sl31.create_source('sourceLvl4_4', 'nixSource');
11661166

11671167
% test find by id
1168-
filtered = b.find_filtered_sources(1, nix.Filter.id, sl41.id);
1168+
filtered = b.find_filtered_sources(2, nix.Filter.id, sl41.id);
11691169
assert(isempty(filtered));
1170-
filtered = b.find_filtered_sources(4, nix.Filter.id, sl41.id);
1170+
filtered = b.find_filtered_sources(5, nix.Filter.id, sl41.id);
11711171
assert(size(filtered, 1) == 1);
11721172
assert(strcmp(filtered{1}.id, sl41.id));
11731173

11741174
% test find by ids
11751175
filterids = {sl1.id, sl41.id};
1176-
filtered = b.find_filtered_sources(0, nix.Filter.ids, filterids);
1176+
filtered = b.find_filtered_sources(1, nix.Filter.ids, filterids);
11771177
assert(size(filtered, 1) == 1);
1178-
filtered = b.find_filtered_sources(3, nix.Filter.ids, filterids);
1178+
filtered = b.find_filtered_sources(4, nix.Filter.ids, filterids);
11791179
assert(size(filtered, 1) == 2);
11801180

11811181
% test find by name
1182-
filtered = b.find_filtered_sources(0, nix.Filter.name, sl41.name);
1182+
filtered = b.find_filtered_sources(1, nix.Filter.name, sl41.name);
11831183
assert(isempty(filtered));
1184-
filtered = b.find_filtered_sources(3, nix.Filter.name, sl41.name);
1184+
filtered = b.find_filtered_sources(4, nix.Filter.name, sl41.name);
11851185
assert(size(filtered, 1) == 1);
11861186
assert(strcmp(filtered{1}.name, sl41.name));
11871187

11881188
% test find by type
1189-
filtered = b.find_filtered_sources(0, nix.Filter.type, findSource);
1189+
filtered = b.find_filtered_sources(1, nix.Filter.type, findSource);
11901190
assert(isempty(filtered));
1191-
filtered = b.find_filtered_sources(3, nix.Filter.type, findSource);
1191+
filtered = b.find_filtered_sources(4, nix.Filter.type, findSource);
11921192
assert(size(filtered, 1) == 3);
11931193
assert(strcmp(filtered{1}.type, findSource));
11941194

11951195
% test nix.Filter.metadata
11961196
sec = f.create_section('testSection', 'nixSection');
11971197
sl43.set_metadata(sec);
1198-
filtered = b.find_filtered_sources(0, nix.Filter.metadata, sec.id);
1198+
filtered = b.find_filtered_sources(1, nix.Filter.metadata, sec.id);
11991199
assert(isempty(filtered));
1200-
filtered = b.find_filtered_sources(3, nix.Filter.metadata, sec.id);
1200+
filtered = b.find_filtered_sources(4, nix.Filter.metadata, sec.id);
12011201
assert(size(filtered, 1) == 1);
12021202
strcmp(filtered{1}.id, sl43.id);
12031203

12041204
% test nix.Filter.source
1205-
filtered = b.find_filtered_sources(0, nix.Filter.source, sl44.id);
1205+
filtered = b.find_filtered_sources(1, nix.Filter.source, sl44.id);
12061206
assert(isempty(filtered));
1207-
filtered = b.find_filtered_sources(3, nix.Filter.source, sl44.id);
1207+
filtered = b.find_filtered_sources(4, nix.Filter.source, sl44.id);
12081208
assert(size(filtered, 1) == 1);
12091209
assert(strcmp(filtered{1}.id, sl31.id));
12101210
end

tests/TestFile.m

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -440,23 +440,23 @@
440440
end
441441

442442
% find all
443-
filtered = f.find_sections(4);
443+
filtered = f.find_sections(5);
444444
assert(size(filtered, 1) == 10);
445445

446446
% find until level 4
447-
filtered = f.find_sections(3);
447+
filtered = f.find_sections(4);
448448
assert(size(filtered, 1) == 10);
449449

450450
% find until level 3
451-
filtered = f.find_sections(2);
451+
filtered = f.find_sections(3);
452452
assert(size(filtered, 1) == 6);
453453

454454
% find until level 2
455-
filtered = f.find_sections(1);
455+
filtered = f.find_sections(2);
456456
assert(size(filtered, 1) == 3);
457457

458458
% find until level 1
459-
filtered = f.find_sections(0);
459+
filtered = f.find_sections(1);
460460
assert(size(filtered, 1) == 1);
461461
end
462462

@@ -479,30 +479,30 @@
479479
sl44 = sl31.create_section('sectionLvl4_4', 'nixSection');
480480

481481
% test find by id
482-
filtered = f.find_filtered_sections(0, nix.Filter.id, sl41.id);
482+
filtered = f.find_filtered_sections(1, nix.Filter.id, sl41.id);
483483
assert(isempty(filtered));
484-
filtered = f.find_filtered_sections(3, nix.Filter.id, sl41.id);
484+
filtered = f.find_filtered_sections(4, nix.Filter.id, sl41.id);
485485
assert(size(filtered, 1) == 1);
486486
assert(strcmp(filtered{1}.id, sl41.id));
487487

488488
% test find by ids
489489
filterids = {sl1.id, sl41.id};
490-
filtered = f.find_filtered_sections(0, nix.Filter.ids, filterids);
490+
filtered = f.find_filtered_sections(1, nix.Filter.ids, filterids);
491491
assert(size(filtered, 1) == 1);
492-
filtered = f.find_filtered_sections(3, nix.Filter.ids, filterids);
492+
filtered = f.find_filtered_sections(4, nix.Filter.ids, filterids);
493493
assert(size(filtered, 1) == 2);
494494

495495
% test find by name
496-
filtered = f.find_filtered_sections(0, nix.Filter.name, sl41.name);
496+
filtered = f.find_filtered_sections(1, nix.Filter.name, sl41.name);
497497
assert(isempty(filtered));
498-
filtered = f.find_filtered_sections(3, nix.Filter.name, sl41.name);
498+
filtered = f.find_filtered_sections(4, nix.Filter.name, sl41.name);
499499
assert(size(filtered, 1) == 1);
500500
assert(strcmp(filtered{1}.name, sl41.name));
501501

502502
% test find by type
503-
filtered = f.find_filtered_sections(0, nix.Filter.type, findSection);
503+
filtered = f.find_filtered_sections(1, nix.Filter.type, findSection);
504504
assert(isempty(filtered));
505-
filtered = f.find_filtered_sections(3, nix.Filter.type, findSection);
505+
filtered = f.find_filtered_sections(4, nix.Filter.type, findSection);
506506
assert(size(filtered, 1) == 3);
507507
assert(strcmp(filtered{1}.type, findSection));
508508

tests/TestSection.m

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -753,23 +753,23 @@
753753
end
754754

755755
% find all
756-
filtered = sl1.find_sections(4);
756+
filtered = sl1.find_sections(5);
757757
assert(size(filtered, 1) == 10);
758758

759759
% find until level 4
760-
filtered = sl1.find_sections(3);
760+
filtered = sl1.find_sections(4);
761761
assert(size(filtered, 1) == 10);
762762

763763
% find until level 3
764-
filtered = sl1.find_sections(2);
764+
filtered = sl1.find_sections(3);
765765
assert(size(filtered, 1) == 6);
766766

767767
% find until level 2
768-
filtered = sl1.find_sections(1);
768+
filtered = sl1.find_sections(2);
769769
assert(size(filtered, 1) == 3);
770770

771771
% find until level 1
772-
filtered = sl1.find_sections(0);
772+
filtered = sl1.find_sections(1);
773773
assert(size(filtered, 1) == 1);
774774
end
775775

@@ -797,32 +797,32 @@
797797
side1 = side.create_section(sideName, 'nixSection');
798798

799799
% test find by id
800-
filtered = sl1.find_filtered_sections(0, nix.Filter.id, sl41.id);
800+
filtered = sl1.find_filtered_sections(1, nix.Filter.id, sl41.id);
801801
assert(isempty(filtered));
802-
filtered = sl1.find_filtered_sections(3, nix.Filter.id, sl41.id);
802+
filtered = sl1.find_filtered_sections(4, nix.Filter.id, sl41.id);
803803
assert(size(filtered, 1) == 1);
804804
assert(strcmp(filtered{1}.id, sl41.id));
805805

806806
% test find by ids
807807
filterids = {sl1.id, sl41.id};
808-
filtered = sl1.find_filtered_sections(0, nix.Filter.ids, filterids);
808+
filtered = sl1.find_filtered_sections(1, nix.Filter.ids, filterids);
809809
assert(size(filtered, 1) == 1);
810-
filtered = sl1.find_filtered_sections(3, nix.Filter.ids, filterids);
810+
filtered = sl1.find_filtered_sections(4, nix.Filter.ids, filterids);
811811
assert(size(filtered, 1) == 2);
812812

813813
% test find by name
814-
filtered = sl1.find_filtered_sections(4, nix.Filter.name, sideName);
814+
filtered = sl1.find_filtered_sections(5, nix.Filter.name, sideName);
815815
assert(isempty(filtered));
816-
filtered = sl1.find_filtered_sections(0, nix.Filter.name, sl41.name);
816+
filtered = sl1.find_filtered_sections(1, nix.Filter.name, sl41.name);
817817
assert(isempty(filtered));
818-
filtered = sl1.find_filtered_sections(3, nix.Filter.name, sl41.name);
818+
filtered = sl1.find_filtered_sections(4, nix.Filter.name, sl41.name);
819819
assert(size(filtered, 1) == 1);
820820
assert(strcmp(filtered{1}.name, sl41.name));
821821

822822
% test find by type
823-
filtered = sl1.find_filtered_sections(0, nix.Filter.type, findSection);
823+
filtered = sl1.find_filtered_sections(1, nix.Filter.type, findSection);
824824
assert(isempty(filtered));
825-
filtered = sl1.find_filtered_sections(3, nix.Filter.type, findSection);
825+
filtered = sl1.find_filtered_sections(4, nix.Filter.type, findSection);
826826
assert(size(filtered, 1) == 3);
827827
assert(strcmp(filtered{1}.type, findSection));
828828

tests/TestSource.m

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -400,23 +400,23 @@
400400
end
401401

402402
% find all
403-
filtered = s.find_sources(4);
403+
filtered = s.find_sources(5);
404404
assert(size(filtered, 1) == 11);
405405

406406
% find until level 3
407-
filtered = s.find_sources(3);
407+
filtered = s.find_sources(4);
408408
assert(size(filtered, 1) == 7);
409409

410410
% find until level 2
411-
filtered = s.find_sources(2);
411+
filtered = s.find_sources(3);
412412
assert(size(filtered, 1) == 4);
413413

414414
% find until level 1
415-
filtered = s.find_sources(1);
415+
filtered = s.find_sources(2);
416416
assert(size(filtered, 1) == 2);
417417

418418
% find until level 0
419-
filtered = s.find_sources(0);
419+
filtered = s.find_sources(1);
420420
assert(size(filtered, 1) == 1);
421421
end
422422

@@ -441,46 +441,46 @@
441441
sl44 = sl31.create_source('sourceLvl4_4', 'nixSource');
442442

443443
% test find by id
444-
filtered = s.find_filtered_sources(0, nix.Filter.id, sl41.id);
444+
filtered = s.find_filtered_sources(1, nix.Filter.id, sl41.id);
445445
assert(isempty(filtered));
446-
filtered = s.find_filtered_sources(4, nix.Filter.id, sl41.id);
446+
filtered = s.find_filtered_sources(5, nix.Filter.id, sl41.id);
447447
assert(size(filtered, 1) == 1);
448448
assert(strcmp(filtered{1}.id, sl41.id));
449449

450450
% test find by ids
451451
filterids = {sl1.id, sl41.id};
452-
filtered = s.find_filtered_sources(1, nix.Filter.ids, filterids);
452+
filtered = s.find_filtered_sources(2, nix.Filter.ids, filterids);
453453
assert(size(filtered, 1) == 1);
454-
filtered = s.find_filtered_sources(4, nix.Filter.ids, filterids);
454+
filtered = s.find_filtered_sources(5, nix.Filter.ids, filterids);
455455
assert(size(filtered, 1) == 2);
456456

457457
% test find by name
458-
filtered = s.find_filtered_sources(0, nix.Filter.name, sl41.name);
458+
filtered = s.find_filtered_sources(1, nix.Filter.name, sl41.name);
459459
assert(isempty(filtered));
460-
filtered = s.find_filtered_sources(4, nix.Filter.name, sl41.name);
460+
filtered = s.find_filtered_sources(5, nix.Filter.name, sl41.name);
461461
assert(size(filtered, 1) == 1);
462462
assert(strcmp(filtered{1}.name, sl41.name));
463463

464464
% test find by type
465-
filtered = s.find_filtered_sources(0, nix.Filter.type, findSource);
465+
filtered = s.find_filtered_sources(1, nix.Filter.type, findSource);
466466
assert(isempty(filtered));
467-
filtered = s.find_filtered_sources(4, nix.Filter.type, findSource);
467+
filtered = s.find_filtered_sources(5, nix.Filter.type, findSource);
468468
assert(size(filtered, 1) == 3);
469469
assert(strcmp(filtered{1}.type, findSource));
470470

471471
% test nix.Filter.metadata
472472
sec = f.create_section('testSection', 'nixSection');
473473
sl43.set_metadata(sec);
474-
filtered = s.find_filtered_sources(0, nix.Filter.metadata, sec.id);
474+
filtered = s.find_filtered_sources(1, nix.Filter.metadata, sec.id);
475475
assert(isempty(filtered));
476-
filtered = s.find_filtered_sources(4, nix.Filter.metadata, sec.id);
476+
filtered = s.find_filtered_sources(5, nix.Filter.metadata, sec.id);
477477
assert(size(filtered, 1) == 1);
478478
strcmp(filtered{1}.id, sl43.id);
479479

480480
% test nix.Filter.source
481-
filtered = s.find_filtered_sources(0, nix.Filter.source, sl44.id);
481+
filtered = s.find_filtered_sources(1, nix.Filter.source, sl44.id);
482482
assert(isempty(filtered));
483-
filtered = s.find_filtered_sources(4, nix.Filter.source, sl44.id);
483+
filtered = s.find_filtered_sources(5, nix.Filter.source, sl44.id);
484484
assert(size(filtered, 1) == 1);
485485
assert(strcmp(filtered{1}.id, sl31.id));
486486
end

0 commit comments

Comments
 (0)