Generated on Thu Jan 16 2025 00:00:00 for Gecode by doxygen 1.14.0
test.hpp
Go to the documentation of this file.
1/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */
2/*
3 * Main authors:
4 * Christian Schulte <schulte@gecode.org>
5 *
6 * Copyright:
7 * Christian Schulte, 2007
8 *
9 * This file is part of Gecode, the generic constraint
10 * development environment:
11 * http://www.gecode.org
12 *
13 * Permission is hereby granted, free of charge, to any person obtaining
14 * a copy of this software and associated documentation files (the
15 * "Software"), to deal in the Software without restriction, including
16 * without limitation the rights to use, copy, modify, merge, publish,
17 * distribute, sublicense, and/or sell copies of the Software, and to
18 * permit persons to whom the Software is furnished to do so, subject to
19 * the following conditions:
20 *
21 * The above copyright notice and this permission notice shall be
22 * included in all copies or substantial portions of the Software.
23 *
24 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
25 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
26 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
27 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
28 * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
29 * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
30 * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
31 *
32 */
33
34namespace Test {
35
36 /*
37 * Commandline options
38 *
39 */
40 inline
42 : seed(0), iter(defiter), fixprob(deffixprob), stop(true), log(false)
43 {}
44
45 /*
46 * Base class for tests
47 *
48 */
49 inline const std::string&
50 Base::name(void) const {
51 return _name;
52 }
53 inline Base*
55 return _tests;
56 }
57 inline Base*
58 Base::next(void) const {
59 return _next;
60 }
61 inline void
63 _next=n;
64 }
65 inline bool
67 return rand(opt.fixprob) == 0;
68 }
69
70}
71
72// STATISTICS: test-core
Base class for all tests to be run
Definition test.hh:103
static Gecode::Support::RandomGenerator rand
Random number generator.
Definition test.hh:134
Base(const std::string &s)
Create and register test with name s.
Definition test.cpp:59
static Base * tests(void)
Return all tests.
Definition test.hpp:54
static bool fixpoint(void)
Throw a coin whether to compute a fixpoint.
Definition test.hpp:66
Base * next(void) const
Return next test.
Definition test.hpp:58
const std::string & name(void) const
Return name of test.
Definition test.hpp:50
bool log
Whether to log the tests.
Definition test.hh:91
unsigned int seed
The random seed to be used.
Definition test.hh:79
Options(void)
Initialize options with defaults.
Definition test.hpp:41
static const unsigned int deffixprob
Default fixpoint probaibility.
Definition test.hh:87
unsigned int iter
Number of iterations for each test.
Definition test.hh:81
bool stop
Whether to stop on an error.
Definition test.hh:89
unsigned int fixprob
The probability for computing a fixpoint.
Definition test.hh:85
static const int defiter
Default number of iterations.
Definition test.hh:83
General test support.
Definition afc.cpp:39
Options opt
The options.
Definition test.cpp:97