1. C++ / Говнокод #22467

    −15

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    TBufferPipe* buffPipe = new TBufferPipe();
    ASSERT(buffPipe->Open(1, 1024))
    try
    {
        buffPipe->~TBufferPipe();
        ASSERT(true);
    }
    catch(...)
    {
        FAIL("\n\tBuffer Pipe Destructor failed\n");
    }

    Из юнит-тестов к проекту по пересжатию мобильного трафика одной иностранной компании.
    Проверка на то, что с буфером всё в порядке.

    Запостил: Deacon, 01 Марта 2017

    Комментарии (3) RSS

    • Билдер шоль?
      Ответить
    • > что с буфером всё в порядке

      Проверка на то, что деструктор не кидает исключений. В принципе, ничего криминального в самой проверке нет, разве что можно было просто delete buffPipe; вызвать. Ну и назначение ASSERT(true); не совсем ясно.
      Ответить
    • это ж как надо заморочиться: явно указать noexcept(false) в деструктор и придумать логику, по которой деструктор кидает исключение в каком-то случае
      Ответить

    Добавить комментарий