完成suffix_array单元测试
This commit is contained in:
@@ -2,20 +2,29 @@
|
|||||||
|
|
||||||
namespace TinySTL{
|
namespace TinySTL{
|
||||||
namespace SuffixArrayTest{
|
namespace SuffixArrayTest{
|
||||||
void testCase1(){
|
void testCase(){
|
||||||
char arr[] = { 'a', 'a', 'b', 'a', 'a', 'a', 'a', 'b' };
|
char arr[] = { 'a', 'a', 'b', 'a', 'a', 'a', 'a', 'b' };
|
||||||
|
|
||||||
TinySTL::suffix_array sa(arr, 8);
|
TinySTL::suffix_array sa(arr, 8);
|
||||||
auto v = sa.suffixArray();
|
auto sa1 = sa.suffixArray();
|
||||||
auto t = std::vector<int> {3, 4, 5, 0, 6, 1, 7, 2};
|
auto sa2 = TinySTL::suffix_array::array_type{3, 4, 5, 0, 6, 1, 7, 2};
|
||||||
assert(TinySTL::Test::container_equal(v, t));
|
assert(TinySTL::Test::container_equal(sa1, sa2));
|
||||||
|
|
||||||
|
auto ra1 = sa.rankArray();
|
||||||
|
auto ra2 = TinySTL::suffix_array::array_type{ 3, 5, 7, 0, 1, 2, 4, 6 };
|
||||||
|
assert(TinySTL::Test::container_equal(ra1, ra2));
|
||||||
|
|
||||||
|
auto ha1 = sa.heightArray();
|
||||||
|
auto ha2 = TinySTL::suffix_array::array_type{ 3, 2, 3, 1, 2, 0, 1 };
|
||||||
|
assert(TinySTL::Test::container_equal(ha1, ha2));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
using namespace TinySTL::SuffixArrayTest;
|
using namespace TinySTL::SuffixArrayTest;
|
||||||
int main(){
|
int main(){
|
||||||
testCase1();
|
testCase();
|
||||||
|
|
||||||
system("pause");
|
system("pause");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
namespace TinySTL{
|
namespace TinySTL{
|
||||||
namespace SuffixArrayTest{
|
namespace SuffixArrayTest{
|
||||||
|
void testCase();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user