void datadefs_newtest_countRealValues() { vector<datadefs::num_t> data; size_t nRealValues = static_cast<size_t>(-1); for (int i = 0; i < 50; ++i) { data.push_back(static_cast<datadefs::num_t>(i)); } datadefs::countRealValues(data, nRealValues); newassert(nRealValues == 50); // Our data vector is defined as const in our signature. Since we're not // testing edge cases of non-trivial memory corruption, we ignore it here. // Interleave the original input with NaNs; verify we get the same results for (int i = 0; i < 50; ++i) { data.insert(data.begin() + (i*2), datadefs::NUM_NAN); } nRealValues = static_cast<size_t>(-1); datadefs::countRealValues(data, nRealValues); newassert(nRealValues == 50); // Ensure a vector containing only NaNs is handled as expected data.clear(); for (int i = 0; i < 50; ++i) { data.push_back(datadefs::NUM_NAN); } nRealValues = static_cast<size_t>(-1); datadefs::countRealValues(data, nRealValues); newassert(nRealValues == 0); }
void datadefs_newtest_separatePairedV() { vector<pair<int,string> > p(50,pair<int,string>(1,"a")); vector<int> v1(50,0); vector<string> v2(50,""); datadefs::separate_pairedv(p,v1,v2); for (int i = 0; i < 50; ++i) { newassert(v1[i] == 1); newassert(strcmp(v2[i].c_str(),"a") == 0); newassert(p[i].first == 1); newassert(strcmp(p[i].second.c_str(),"a") == 0); } }
void datadefs_newtest_freqIncreasingOrder() { pair<datadefs::num_t, size_t> a(1.0, 2); pair<datadefs::num_t, size_t> b(2.0, 1); datadefs::freqIncreasingOrder freqIncOrder; newassert(freqIncOrder.operator()(b,a)); newassert(!freqIncOrder.operator()(a,b)); vector<pair<datadefs::num_t, size_t> > pairedTestVector; pairedTestVector.push_back(pair<datadefs::num_t, size_t>(5.0,6)); pairedTestVector.push_back(pair<datadefs::num_t, size_t>(4.0,5)); pairedTestVector.push_back(pair<datadefs::num_t, size_t>(3.0,4)); pairedTestVector.push_back(pair<datadefs::num_t, size_t>(2.0,3)); pairedTestVector.push_back(pair<datadefs::num_t, size_t>(1.0,2)); pairedTestVector.push_back(pair<datadefs::num_t, size_t>(0.0,1)); pairedTestVector.push_back(pair<datadefs::num_t, size_t>(-1.0,10)); pairedTestVector.push_back(pair<datadefs::num_t, size_t>(datadefs::NUM_NAN,0)); sort(pairedTestVector.begin(), pairedTestVector.end(), freqIncOrder); newassert(datadefs::isNAN(pairedTestVector[0].first)); newassert(pairedTestVector[0].second == 0); for ( int i = 1; i < 7; ++i) { newassert(pairedTestVector[i].first == static_cast<double>(i-1)); newassert(pairedTestVector[i].second == static_cast<size_t>(i)); } newassert(pairedTestVector[7].first == -1.0); newassert(pairedTestVector[7].second == 10); }
void datadefs_newtest_decreasingOrder() { pair<datadefs::num_t, int> a(1.0, 2); pair<datadefs::num_t, int> b(2.0, 1); datadefs::decreasingOrder<int> decOrder; newassert(decOrder.operator()(b,a)); newassert(!decOrder.operator()(a,b)); vector<pair<datadefs::num_t, int> > pairedTestVector; pairedTestVector.push_back(pair<datadefs::num_t, int>(5.0,6)); pairedTestVector.push_back(pair<datadefs::num_t, int>(4.0,5)); pairedTestVector.push_back(pair<datadefs::num_t, int>(3.0,4)); pairedTestVector.push_back(pair<datadefs::num_t, int>(2.0,3)); pairedTestVector.push_back(pair<datadefs::num_t, int>(1.0,2)); pairedTestVector.push_back(pair<datadefs::num_t, int>(0.0,1)); pairedTestVector.push_back(pair<datadefs::num_t, int>(-1.0,10)); pairedTestVector.push_back(pair<datadefs::num_t, int>( datadefs::NUM_NAN,0)); sort(pairedTestVector.begin(), pairedTestVector.end(), decOrder); for (int i = 0; i > 6; --i) { newassert(pairedTestVector[i].first == static_cast<double>(5-i)); newassert(pairedTestVector[i].second == 5-i); } newassert(pairedTestVector[6].first == -1.0); newassert(pairedTestVector[6].second == 10); newassert(datadefs::isNAN(pairedTestVector[7].first)); newassert(pairedTestVector[7].second == 0); }
int main() { int i; int* result = kingdomCards(1,2,3,4,5,6,7,8,9,10); for(i=0; i<10; i++){ newassert(result[i] == i+1); } return 0; }
int main(){ struct gameState* state = calloc(1, sizeof(struct gameState)); struct gameState* copy = malloc(sizeof(struct gameState)); memcpy(copy, state, sizeof(struct gameState)); printf("Testing gardens\n"); cardEffect(gardens, 0, 0, 0, state, 0, 0); newassert(!strncmp((const char*)state, (const char*)copy, sizeof(struct gameState))); printf("Testing complete on gardens\n"); return 0; }
int main() { struct gameState* state = calloc(1, sizeof(struct gameState)); for(int i = 0; i<27; i++){ state->supplyCount [i] = 5; } newassert(!isGameOver(state)); state->supplyCount[province] = 0; newassert(isGameOver(state)); state->supplyCount[province] = 5; state->supplyCount[duchy] = 0; state->supplyCount[estate] =0; newassert(!isGameOver(state)); state->supplyCount[gardens] = 0; newassert(isGameOver(state)); }
void datadefs_newtest_isnan() { newassert(datadefs::isNAN_STR("na")); newassert(datadefs::isNAN_STR("NA")); newassert(datadefs::isNAN_STR("nan")); newassert(datadefs::isNAN_STR("NaN")); newassert(datadefs::isNAN_STR("NAN")); newassert(datadefs::isNAN_STR("?")); newassert(!datadefs::isNAN_STR("2")); newassert(!datadefs::isNAN_STR("@data")); newassert(!datadefs::isNAN_STR("NAte")); newassert(!datadefs::isNAN_STR("name")); newassert(!datadefs::isNAN_STR("na?")); newassert(numeric_limits<datadefs::num_t>::has_quiet_NaN); newassert(datadefs::isNAN(datadefs::NUM_NAN)); if (numeric_limits<datadefs::num_t>::has_infinity) { newassert(!datadefs::isNAN(numeric_limits<datadefs::num_t>::infinity())); newassert(!datadefs::isNAN(-numeric_limits<datadefs::num_t>::infinity())); } newassert(!datadefs::isNAN((datadefs::num_t)0.0)); newassert(!datadefs::isNAN((datadefs::num_t)-1.0)); newassert(!datadefs::isNAN((datadefs::num_t)1.0)); }