AtomicTest.cpp
上传用户:market2
上传日期:2018-11-18
资源大小:18786k
文件大小:1k
源码类别:

外挂编程

开发平台:

Windows_Unix

  1. /*
  2.  *  OpenKore C++ Standard Library
  3.  *  Copyright (C) 2006  VCL
  4.  *
  5.  *  Unit tests
  6.  *
  7.  *  This library is free software; you can redistribute it and/or
  8.  *  modify it under the terms of the GNU Lesser General Public
  9.  *  License as published by the Free Software Foundation; either
  10.  *  version 2.1 of the License, or (at your option) any later version.
  11.  *
  12.  *  This library is distributed in the hope that it will be useful,
  13.  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  14.  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  15.  *  Lesser General Public License for more details.
  16.  *
  17.  *  You should have received a copy of the GNU Lesser General Public
  18.  *  License along with this library; if not, write to the Free Software
  19.  *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  20.  *  MA  02110-1301  USA
  21.  */
  22. #include "tut.h"
  23. #include "../../Threading/Atomic.h"
  24. /*
  25.  * Test case for OSL::Atomic
  26.  */
  27. namespace tut {
  28. struct AtomicTest {
  29. };
  30. DEFINE_TEST_GROUP(AtomicTest);
  31. TEST_METHOD(1) {
  32. int i = 0;
  33. Atomic::increment(i);
  34. ensure(Atomic::decrement(i));
  35. }
  36. TEST_METHOD(2) {
  37. int i = 0;
  38. Atomic::increment(i);
  39. Atomic::increment(i);
  40. Atomic::increment(i);
  41. ensure(!Atomic::decrement(i));
  42. ensure(!Atomic::decrement(i));
  43. ensure(Atomic::decrement(i));
  44. }
  45. }