39 for( MODEL_TYPE type : MODEL_TYPE_ITERATOR() )
43 const std::vector<SIM_MODEL::PARAM::INFO> modelParams = ModelInfo( type ).modelParams;
44 const std::vector<SIM_MODEL::PARAM::INFO> instanceParams = ModelInfo( type ).instanceParams;
51 BOOST_CHECK( std::none_of( modelParams.begin(), modelParams.end(),
52 [&modelParam](
const auto& aOtherModelParam )
54 return modelParam.id != aOtherModelParam.id
55 && modelParam.name == aOtherModelParam.name;
60 BOOST_CHECK( std::none_of( instanceParams.begin(), instanceParams.end(),
61 [&modelParam](
const auto& aInstanceParam )
63 return modelParam.name == aInstanceParam.name;
66 if( boost::ends_with( modelParam.name,
"_" ) )
72 BOOST_CHECK( std::any_of( instanceParams.begin(), instanceParams.end(),
73 [&modelParam](
const auto& aInstanceParam )
75 return modelParam.name.substr( 0, modelParam.name.length() - 1 )
76 == aInstanceParam.name;
87 BOOST_CHECK( std::none_of( instanceParams.begin(), instanceParams.end(),
88 [&instanceParam](
const auto& aOtherInstanceParam )
90 return instanceParam.id != aOtherInstanceParam.id
91 && instanceParam.dir != SIM_MODEL::PARAM::DIR_OUT
92 && aOtherInstanceParam.dir != SIM_MODEL::PARAM::DIR_OUT
93 && instanceParam.name == aOtherInstanceParam.name;
107 for( MODEL_TYPE type : MODEL_TYPE_ITERATOR() )
109 const std::vector<SIM_MODEL::PARAM::INFO> modelParams = ModelInfo( type ).modelParams;
110 const std::vector<SIM_MODEL::PARAM::INFO> instanceParams = ModelInfo( type ).instanceParams;
114 case MODEL_TYPE::NONE:
115 case MODEL_TYPE::_ENUM_END:
163 case MODEL_TYPE::DIODE:
168 case MODEL_TYPE::BJT:
173 case MODEL_TYPE::VBIC:
178 case MODEL_TYPE::HICUM2:
183 case MODEL_TYPE::JFET:
188 case MODEL_TYPE::JFET2:
193 case MODEL_TYPE::MES:
198 case MODEL_TYPE::MESA:
203 case MODEL_TYPE::HFET1:
208 case MODEL_TYPE::HFET2:
213 case MODEL_TYPE::VDMOS:
218 case MODEL_TYPE::MOS1:
223 case MODEL_TYPE::MOS2:
228 case MODEL_TYPE::MOS3:
233 case MODEL_TYPE::BSIM1:
238 case MODEL_TYPE::BSIM2:
243 case MODEL_TYPE::MOS6:
248 case MODEL_TYPE::BSIM3:
253 case MODEL_TYPE::MOS9:
258 case MODEL_TYPE::B4SOI:
263 case MODEL_TYPE::BSIM4:
268 case MODEL_TYPE::B3SOIFD:
273 case MODEL_TYPE::B3SOIDD:
278 case MODEL_TYPE::B3SOIPD:
283 case MODEL_TYPE::HISIM2:
288 case MODEL_TYPE::HISIMHV1:
293 case MODEL_TYPE::HISIMHV2:
299 BOOST_FAIL( wxString::Format(
300 "Unhandled type: %d "
301 "(if you created a new type you need to handle it in this switch "
BOOST_CHECK_EQUAL(result, "25.4")