Преглед на файлове

test: add missing unit tests for the Atomic template class.

legacy
Sam Hocevar sam преди 12 години
родител
ревизия
ff32da97ad
променени са 1 файла, в които са добавени 50 реда и са изтрити 0 реда
  1. +50
    -0
      test/unit/atomic.cpp

+ 50
- 0
test/unit/atomic.cpp Целия файл

@@ -0,0 +1,50 @@
//
// Lol Engine
//
// Copyright: (c) 2010-2013 Sam Hocevar <sam@hocevar.net>
// This program is free software; you can redistribute it and/or
// modify it under the terms of the Do What The Fuck You Want To
// Public License, Version 2, as published by Sam Hocevar. See
// http://www.wtfpl.net/ for more details.
//

#if defined HAVE_CONFIG_H
# include "config.h"
#endif

#include <cmath>

#include "core.h"
#include "lol/unit.h"

namespace lol
{

LOLUNIT_FIXTURE(AtomicTest)
{
LOLUNIT_TEST(SingleThread)
{
Atomic<int> i = 0;

LOLUNIT_ASSERT_EQUAL(0, (int)i);

int a1 = i++;
LOLUNIT_ASSERT_EQUAL(0, a1);
LOLUNIT_ASSERT_EQUAL(1, (int)i);

int a2 = i--;
LOLUNIT_ASSERT_EQUAL(1, a2);
LOLUNIT_ASSERT_EQUAL(0, (int)i);

int a3 = ++i;
LOLUNIT_ASSERT_EQUAL(1, a3);
LOLUNIT_ASSERT_EQUAL(1, (int)i);

int a4 = --i;
LOLUNIT_ASSERT_EQUAL(0, a4);
LOLUNIT_ASSERT_EQUAL(0, (int)i);
}
};

} /* namespace lol */


Зареждане…
Отказ
Запис