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

外挂编程

开发平台:

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 <string.h>
  23. #include "tut.h"
  24. #include "../../Exception.h"
  25. /*
  26.  * Test case for OSL::Exception
  27.  */
  28. namespace tut {
  29. struct ExceptionTest {
  30. };
  31. DEFINE_TEST_GROUP(ExceptionTest);
  32. TEST_METHOD(1) {
  33. try {
  34. throw Exception("Foo");
  35. } catch(Exception &e) {
  36. ensure("Exception message is correct.",
  37. strcmp("Foo", e.getMessage()) == 0);
  38. ensure("getMessage() and what() return the same thing.",
  39. e.getMessage() == e.what());
  40. }
  41. }
  42. TEST_METHOD(2) {
  43. try {
  44. throw Exception(NULL, 123);
  45. } catch(Exception &e) {
  46. ensure_equals("Error code is correct.", e.getCode(), 123);
  47. ensure("Message is not NULL.", e.getMessage() != NULL);
  48. ensure("Message is not NULL (2).", e.what() != NULL);
  49. }
  50. }
  51. }