MCPcopy Create free account
hub / github.com/ConEmu/ConEmu / DebugArrayTests

Function DebugArrayTests

src/ConEmu/all_test.cpp:488–566  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

486};
487
488void DebugArrayTests()
489{
490 MArray<CEStr> sArr;
491 sArr.reserve(1);
492 _ASSERTE(sArr.size()==0 && sArr.capacity()==1);
493 sArr.push_back(CEStr(L"sample string"));
494 _ASSERTE(sArr.size()==1 && sArr.capacity()==1);
495 const wchar_t* psz = sArr[0].c_str();
496 _ASSERTE(psz && wcscmp(psz, L"sample string")==0);
497 sArr.swap(MArray<CEStr>());
498 _ASSERTE(sArr.size()==0 && sArr.capacity()==0);
499 sArr.push_back(CEStr(L"1"));
500 _ASSERTE(sArr.size()==1 && sArr.capacity()>=1 && sArr[0]==L"1");
501 sArr.push_back(L"3");
502 _ASSERTE(sArr.size()==2 && sArr.capacity()>=2 && sArr[0]==L"1" && sArr[1]==L"3");
503 const CEStr s2(L"2");
504 sArr.insert(1, s2);
505 _ASSERTE(sArr.size()==3 && sArr[0]==L"1" && sArr[1]==L"2" && sArr[2]==L"3");
506 sArr.erase(1);
507 _ASSERTE(sArr.size()==2 && sArr[0]==L"1" && sArr[1]==L"3");
508 sArr.push_back(L"4");
509 _ASSERTE(sArr.size()==3 && sArr[0]==L"1" && sArr[1]==L"3" && sArr[2]==L"4");
510 sArr.insert(1, CEStr(L"2"));
511 _ASSERTE(sArr.size()==4 && sArr[0]==L"1" && sArr[1]==L"2" && sArr[2]==L"3" && sArr[3]==L"4");
512 sArr.erase(1);
513 _ASSERTE(sArr.size()==3 && sArr[0]==L"1" && sArr[1]==L"3" && sArr[2]==L"4");
514
515 bool delete_called = false;
516 MArrayDeleteTester::dtor_called = 0;
517 MArray<MArrayDeleteTester> dArr;
518 dArr.push_back(MArrayDeleteTester{2});
519 _ASSERTE(MArrayDeleteTester::dtor_called==1 && dArr.size()==1 && dArr[0].value==2); // dtor of temp object
520 MArrayDeleteTester::dtor_called = 0;
521 dArr.clear();
522 _ASSERTE(MArrayDeleteTester::dtor_called==1); // dtor call from MArray
523 MArrayDeleteTester::dtor_called = 0;
524 dArr.resize(2);
525 _ASSERTE(MArrayDeleteTester::dtor_called==0 && dArr.size()==2 && dArr[0].value==1 && dArr[1].value==1);
526 dArr.resize(1);
527 _ASSERTE(MArrayDeleteTester::dtor_called==1 && dArr.size()==1 && dArr[0].value==1);
528
529 MArray<int> arr;
530 int i1 = 1;
531 arr.push_back(i1);
532 const int i2 = 2;
533 arr.push_back(i2);
534 arr.push_back(3);
535 arr.push_back(4);
536 arr.insert(2, 5);
537 _ASSERTE(arr.size()==5 && arr[0]==1 && arr[1]==2 && arr[2]==5 && arr[3]==3 && arr[4]==4);
538 arr.sort([](const int& i1, const int& i2){ return (i1 < i2); });
539 _ASSERTE(arr.size()==5 && arr[0]==1 && arr[1]==2 && arr[2]==3 && arr[3]==4 && arr[4]==5);
540 arr.sort([](const int& i1, const int& i2){ return (i1 > i2); });
541 _ASSERTE(arr.size()==5 && arr[0]==5 && arr[1]==4 && arr[2]==3 && arr[3]==2 && arr[4]==1);
542
543 _ASSERTE(&arr[1] == &(arr[1]));
544
545 MArray<int> arr2;

Callers 1

TEST_FFunction · 0.85

Calls 12

reserveMethod · 0.80
capacityMethod · 0.80
push_backMethod · 0.80
c_strMethod · 0.80
insertMethod · 0.80
eraseMethod · 0.80
sortMethod · 0.80
CEStrClass · 0.70
sizeMethod · 0.45
swapMethod · 0.45
clearMethod · 0.45
resizeMethod · 0.45

Tested by

no test coverage detected