// Launch unit test.
  EUnitTestResult test()
  { CALL
    CDistributionCircle circle_distribution(CPoint2D<Treal>(2.0, 2.0), CVector2D(2.0, 2.0));

    // Check random number generator in the distribution.
    UT_ASSERT(circle_distribution.isValidGenerator());

    // Check circle distributed values.
    for (Tuint i = 0; i < 1000; ++i)
    {
      CPoint2D<Treal> p = circle_distribution.randomPoint();
      UT_ASSERT(CMath::isNormal(p.m_X) && CMath::isNormal(p.m_Y));

      // Check circle radius.
      CVector2D v = p - circle_distribution.getOrigin();
      UT_ASSERT_DELTA(v.length(), 2.0, 0.0001);
    }

    UT_ACCEPT;
  }