ct_common
1.0.1
Common library for combinatorial testing
|
00001 //===----- ct_common/common/constraint_l_or.cpp -----------------*- C++ -*-===// 00002 // 00003 // The ct_common Library 00004 // 00005 // This file is distributed under the MIT license. See LICENSE for details. 00006 // 00007 //===----------------------------------------------------------------------===// 00008 // 00009 // This file contains the function definitions of class Constraint_L_Or 00010 // 00011 //===----------------------------------------------------------------------===// 00012 00013 #include <ct_common/common/constraint_l_or.h> 00014 00015 using namespace ct::common; 00016 00017 Constraint_L_Or::Constraint_L_Or(void) 00018 : Constraint_L_Binary() { 00019 } 00020 00021 Constraint_L_Or::Constraint_L_Or(const Constraint_L_Or &from) 00022 : Constraint_L_Binary(from) { 00023 } 00024 00025 Constraint_L_Or &Constraint_L_Or::operator = ( 00026 const Constraint_L_Or &right) { 00027 Constraint_L_Binary::operator=(right); 00028 return *this; 00029 } 00030 00031 Constraint_L_Or::~Constraint_L_Or(void) { 00032 } 00033 00034 std::string Constraint_L_Or::get_class_name(void) const { 00035 return Constraint_L_Or::class_name(); 00036 } 00037 00038 std::string Constraint_L_Or::class_name(void) { 00039 return "Constraint_L_Or"; 00040 } 00041 00042 EvalType_Bool Constraint_L_Or::evaluate_func(EvalType_Bool val_l, EvalType_Bool val_r) const { 00043 EvalType_Bool tmp_return; 00044 if (val_l.is_valid_ && val_r.is_valid_) { 00045 tmp_return.is_valid_ = true; 00046 tmp_return.value_ = val_l.value_ || val_r.value_; 00047 } else { 00048 tmp_return.is_valid_ = (val_l.is_valid_ && val_l.value_) || (val_r.is_valid_ && val_r.value_); 00049 tmp_return.value_ = tmp_return.is_valid_; 00050 } 00051 return tmp_return; 00052 } 00053 00054 std::string Constraint_L_Or::get_op_token(void) const { 00055 return "||"; 00056 }