Dlaczego mój test jednostkowy C ++ / CX nie zawodzi?

Mam następujące metody testowania „Windows Store / Metro Style” w VS 2012 C ++ / CX

Ten się powiedzie, co jest w porządku

TEST_METHOD(TestMethod)
{
    bool passed = false;
    concurrency::event finished;
    finished.reset();                                   
    auto testTask = concurrency::create_task( [&finished, &passed]()
    {   
        passed = true;
        finished.set();
    }); 
    finished.wait(100000);
    Assert::IsTrue(passed);
}

Ten się nie udaje, co jest również w porządku:

TEST_METHOD(TestMethod)
{
    bool passed = true;
    concurrency::event finished;
    finished.reset();                                   
    auto testTask = concurrency::create_task( [&finished, &passed]()
    {   
        passed = false;
        finished.set();
    }); 
    finished.wait(100000);
    Assert::IsTrue(passed);
}

Ale z jakiegoś powodu test ten nie zawodzi:

TEST_METHOD(FailedTest)
{
    concurrency::event finished;
    finished.reset();                                   
    auto testTask = concurrency::create_task( [&finished]()
    {   
        Assert::IsTrue(false);
        finished.set();
    });
    finished.wait(100000);          
}

czy robię coś źle?

Na marginesie, możliwym obejściem może być umieszczenie wszystkich wyników moich testów w zmiennych i „przetestowanie” ich wszystkichfinished.wait(100000);, ale nadal chciałbym wiedzieć, czy coś jest nie tak z tym, co robię.

questionAnswers(1)

yourAnswerToTheQuestion