testYesNoNone.cc
Go to the documentation of this file.
1 /*
2  * Copyright (C) 1996-2017 The Squid Software Foundation and contributors
3  *
4  * Squid software is distributed under GPLv2+ license and includes
5  * contributions from numerous individuals and organizations.
6  * Please see the COPYING and CONTRIBUTORS files for details.
7  */
8 
9 #include "squid.h"
10 #include "base/YesNoNone.h"
11 #include "tests/testYesNoNone.h"
12 #include "unitTestMain.h"
13 
14 #include <stdexcept>
15 
17 
18 void
20 {
21  // unconfigured, non-implicit
22  {
23  YesNoNone v;
24  CPPUNIT_ASSERT_EQUAL(false, v.configured());
25  // cannot test the value it is 'undefined' and will assert
26  }
27  // implicit dtor test
28 
29  // unconfigured, implicit true
30  {
31  YesNoNone v(true);
32  CPPUNIT_ASSERT_EQUAL(false, v.configured());
33  CPPUNIT_ASSERT(v);
34  CPPUNIT_ASSERT_EQUAL(true, static_cast<bool>(v));
35 
36  // check explicit setter method
37  v.configure(false);
38  CPPUNIT_ASSERT_EQUAL(true, v.configured());
39  CPPUNIT_ASSERT(!v);
40  CPPUNIT_ASSERT_EQUAL(false, static_cast<bool>(v));
41  }
42 
43  // unconfigured, implicit false
44  {
45  YesNoNone v(false);
46  CPPUNIT_ASSERT_EQUAL(false, v.configured());
47  CPPUNIT_ASSERT(!v);
48  CPPUNIT_ASSERT_EQUAL(false, static_cast<bool>(v));
49 
50  // check assignment operator
51  v = YesNoNone(true);
52  CPPUNIT_ASSERT_EQUAL(false, v.configured());
53  CPPUNIT_ASSERT(v);
54  CPPUNIT_ASSERT_EQUAL(true, static_cast<bool>(v));
55  }
56 }
57 
CPPUNIT_TEST_SUITE_REGISTRATION(testYesNoNone)
bool configured() const
Definition: YesNoNone.h:66
void configure(bool beSet)
enables or disables the option; updating to 'configured' state
Definition: YesNoNone.h:52

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors