|
431 | 431 | t.add_feature(f2, nix.LinkType.Untagged);
|
432 | 432 | t.add_feature(f3, nix.LinkType.Indexed);
|
433 | 433 |
|
434 |
| - assert(f.blocks{1}.multiTags{1}.open_feature_idx(0).linkType == nix.LinkType.Tagged); |
435 |
| - assert(f.blocks{1}.multiTags{1}.open_feature_idx(1).linkType == nix.LinkType.Untagged); |
436 |
| - assert(f.blocks{1}.multiTags{1}.open_feature_idx(2).linkType == nix.LinkType.Indexed); |
| 434 | + assert(f.blocks{1}.multiTags{1}.open_feature_idx(1).linkType == nix.LinkType.Tagged); |
| 435 | + assert(f.blocks{1}.multiTags{1}.open_feature_idx(2).linkType == nix.LinkType.Untagged); |
| 436 | + assert(f.blocks{1}.multiTags{1}.open_feature_idx(3).linkType == nix.LinkType.Indexed); |
437 | 437 | end
|
438 | 438 |
|
439 | 439 | %% Test: Open reference by ID or name
|
|
470 | 470 | t.add_reference(r2);
|
471 | 471 | t.add_reference(r3);
|
472 | 472 |
|
473 |
| - assert(strcmp(f.blocks{1}.multiTags{1}.open_reference_idx(0).name, r1.name)); |
474 |
| - assert(strcmp(f.blocks{1}.multiTags{1}.open_reference_idx(1).name, r2.name)); |
475 |
| - assert(strcmp(f.blocks{1}.multiTags{1}.open_reference_idx(2).name, r3.name)); |
| 473 | + assert(strcmp(f.blocks{1}.multiTags{1}.open_reference_idx(1).name, r1.name)); |
| 474 | + assert(strcmp(f.blocks{1}.multiTags{1}.open_reference_idx(2).name, r2.name)); |
| 475 | + assert(strcmp(f.blocks{1}.multiTags{1}.open_reference_idx(3).name, r3.name)); |
476 | 476 | end
|
477 | 477 |
|
478 | 478 | %% Test: Feature count
|
|
696 | 696 |
|
697 | 697 | % test invalid reference name
|
698 | 698 | try
|
699 |
| - t.retrieve_data(0, 'I do not exist'); |
| 699 | + t.retrieve_data(1, 'I do not exist'); |
700 | 700 | catch ME
|
701 | 701 | assert(~isempty(strfind(ME.message, 'no DataArray with the specified name or id')), ...
|
702 | 702 | 'Invalid reference name failed');
|
703 | 703 | end
|
704 | 704 | assert(exist('ME') == 1, 'Invalid reference name fail, error not raised');
|
705 | 705 | clear ME;
|
706 | 706 |
|
707 |
| - assert(isequal(t.retrieve_data(0, d1.name), raw1(1:1)), 'Retrieve pos 1, ref 1 fail'); |
708 |
| - assert(isequal(t.retrieve_data(1, d1.id), raw1(2, 2:4)), 'Retrieve pos 2, ref 1 fail'); |
709 |
| - assert(isequal(t.retrieve_data(2, d2.id), raw2(1:2, 3:6)), 'Retrieve pos 3, ref 2 fail'); |
| 707 | + assert(isequal(t.retrieve_data(1, d1.name), raw1(1:1)), 'Retrieve pos 1, ref 1 fail'); |
| 708 | + assert(isequal(t.retrieve_data(2, d1.id), raw1(2, 2:4)), 'Retrieve pos 2, ref 1 fail'); |
| 709 | + assert(isequal(t.retrieve_data(3, d2.id), raw2(1:2, 3:6)), 'Retrieve pos 3, ref 2 fail'); |
710 | 710 | end
|
711 | 711 |
|
712 | 712 | %% Test: Retrieve reference data by index
|
|
749 | 749 |
|
750 | 750 | % test invalid position idx
|
751 | 751 | try
|
752 |
| - t.retrieve_data_idx(100, 0); |
| 752 | + t.retrieve_data_idx(100, 1); |
753 | 753 | catch ME
|
754 | 754 | assert(~isempty(strfind(ME.message, 'ounds of positions or extents')), ...
|
755 | 755 | 'Invalid position index failed');
|
756 | 756 | end
|
757 | 757 |
|
758 | 758 | % test invalid reference idx
|
759 | 759 | try
|
760 |
| - t.retrieve_data_idx(0, 100); |
| 760 | + t.retrieve_data_idx(1, 100); |
761 | 761 | catch ME
|
762 | 762 | assert(~isempty(strfind(ME.message, 'out of bounds')), ...
|
763 | 763 | 'Invalid reference index failed');
|
764 | 764 | end
|
765 | 765 |
|
766 |
| - assert(isequal(t.retrieve_data_idx(0, 0), raw1(1:1)), 'Retrieve pos 1, ref 1 fail'); |
767 |
| - assert(isequal(t.retrieve_data_idx(1, 0), raw1(2, 2:4)), 'Retrieve pos 2, ref 1 fail'); |
768 |
| - assert(isequal(t.retrieve_data_idx(2, 1), raw2(1:2, 3:6)), 'Retrieve pos 3, ref 2 fail'); |
| 766 | + assert(isequal(t.retrieve_data_idx(1, 1), raw1(1:1)), 'Retrieve pos 1, ref 1 fail'); |
| 767 | + assert(isequal(t.retrieve_data_idx(2, 1), raw1(2, 2:4)), 'Retrieve pos 2, ref 1 fail'); |
| 768 | + assert(isequal(t.retrieve_data_idx(3, 2), raw2(1:2, 3:6)), 'Retrieve pos 3, ref 2 fail'); |
769 | 769 | end
|
770 | 770 |
|
771 | 771 | %% Test: Retrieve feature data by id or name
|
|
817 | 817 |
|
818 | 818 | % test invalid name or id
|
819 | 819 | try
|
820 |
| - t.retrieve_feature_data(0, 'I do not exist'); |
| 820 | + t.retrieve_feature_data(1, 'I do not exist'); |
821 | 821 | catch ME
|
822 | 822 | assert(~isempty(strfind(ME.message, 'no Feature with the specified name or id')), ...
|
823 | 823 | 'Invalid reference name failed');
|
|
830 | 830 | assert(isequal(raw_feat1, retData), 'Untagged fail');
|
831 | 831 |
|
832 | 832 | % test tagged properly applies position and extents
|
833 |
| - retData = t.retrieve_feature_data(0, da_feat2.id); |
| 833 | + retData = t.retrieve_feature_data(1, da_feat2.id); |
834 | 834 | assert(isequal(retData, [21]), 'Tagged pos 1 fail');
|
835 | 835 |
|
836 |
| - retData = t.retrieve_feature_data(1, da_feat2.name); |
| 836 | + retData = t.retrieve_feature_data(2, da_feat2.name); |
837 | 837 | assert(isequal(retData, [24]), 'Tagged pos 2 fail');
|
838 | 838 |
|
839 |
| - retData = t.retrieve_feature_data(2, da_feat2.id); |
| 839 | + retData = t.retrieve_feature_data(3, da_feat2.id); |
840 | 840 | assert(isequal(retData, [26, 27, 28]), 'Tagged pos 3 fail');
|
841 | 841 |
|
842 | 842 | % test indexed returns first and last index value
|
843 |
| - retData = t.retrieve_feature_data(0, da_feat3.id); |
| 843 | + retData = t.retrieve_feature_data(1, da_feat3.id); |
844 | 844 | assert(isequal(retData, raw_feat3(1)), 'Indexed first pos fail');
|
845 | 845 |
|
846 |
| - retData = t.retrieve_feature_data(7, da_feat3.name); |
| 846 | + retData = t.retrieve_feature_data(8, da_feat3.name); |
847 | 847 | assert(isequal(retData, raw_feat3(end)), 'Indexed last pos fail');
|
848 | 848 |
|
849 | 849 | % test indexed fail when accessing position > length of referenced array
|
850 | 850 | try
|
851 |
| - t.retrieve_feature_data(size(raw_feat3, 2) + 1, da_feat3.id); |
| 851 | + t.retrieve_feature_data(size(raw_feat3, 2) + 2, da_feat3.id); |
852 | 852 | catch ME
|
853 | 853 | assert(~isempty(strfind(ME.message, 'than the data stored in the feature')), ...
|
854 | 854 | 'Indexed out of length fail');
|
|
896 | 896 |
|
897 | 897 | % test invalid position idx
|
898 | 898 | try
|
899 |
| - t.retrieve_feature_data_idx(100, 1); |
| 899 | + t.retrieve_feature_data_idx(100, 2); |
900 | 900 | catch ME
|
901 |
| - assert(isempty(strfind(ME.message, 'ounds of positions or extents')), ... |
| 901 | + assert(~isempty(strfind(ME.message, 'ounds of positions')), ... |
902 | 902 | 'Invalid position index failed');
|
903 | 903 | end
|
904 | 904 | assert(exist('ME') == 1, 'Invalid position index fail, error not raised');
|
905 | 905 | clear ME;
|
906 | 906 |
|
907 | 907 | % test invalid feature idx
|
908 | 908 | try
|
909 |
| - t.retrieve_feature_data_idx(0, 100); |
| 909 | + t.retrieve_feature_data_idx(1, 100); |
910 | 910 | catch ME
|
911 | 911 | assert(~isempty(strfind(ME.message, 'out of bounds')), ...
|
912 | 912 | 'Invalid reference index failed');
|
|
915 | 915 | clear ME;
|
916 | 916 |
|
917 | 917 | % test untagged ignores position and returns full data
|
918 |
| - retData = t.retrieve_feature_data_idx(100, 0); |
| 918 | + retData = t.retrieve_feature_data_idx(100, 1); |
919 | 919 | assert(isequal(raw_feat1, retData), 'Untagged fail');
|
920 | 920 |
|
921 | 921 | % test tagged properly applies position and extents
|
922 |
| - retData = t.retrieve_feature_data_idx(0, 1); |
| 922 | + retData = t.retrieve_feature_data_idx(1, 2); |
923 | 923 | assert(isequal(retData, [21]), 'Tagged pos 1 fail');
|
924 | 924 |
|
925 |
| - retData = t.retrieve_feature_data_idx(1, 1); |
| 925 | + retData = t.retrieve_feature_data_idx(2, 2); |
926 | 926 | assert(isequal(retData, [24]), 'Tagged pos 2 fail');
|
927 | 927 |
|
928 |
| - retData = t.retrieve_feature_data_idx(2, 1); |
| 928 | + retData = t.retrieve_feature_data_idx(3, 2); |
929 | 929 | assert(isequal(retData, [26, 27, 28]), 'Tagged pos 3 fail');
|
930 | 930 |
|
931 | 931 | % test indexed returns first and last index value
|
932 |
| - retData = t.retrieve_feature_data_idx(0, 2); |
| 932 | + retData = t.retrieve_feature_data_idx(1, 3); |
933 | 933 | assert(isequal(retData, raw_feat3(1)), 'Indexed first pos fail');
|
934 | 934 |
|
935 |
| - retData = t.retrieve_feature_data_idx(7, 2); |
| 935 | + retData = t.retrieve_feature_data_idx(8, 3); |
936 | 936 | assert(isequal(retData, raw_feat3(end)), 'Indexed last pos fail');
|
937 | 937 |
|
938 | 938 | % test indexed fail when accessing position > length of referenced array
|
939 | 939 | try
|
940 |
| - t.retrieve_feature_data_idx(size(raw_feat3, 2) + 1, 2); |
| 940 | + t.retrieve_feature_data_idx(size(raw_feat3, 2) + 2, 3); |
941 | 941 | catch ME
|
942 | 942 | assert(~isempty(strfind(ME.message, 'than the data stored in the feature')), ...
|
943 | 943 | 'Indexed out of length fail');
|
|
0 commit comments