// Test many metrics TEST_F(FTDCCompressorTest, TestManyMetrics) { std::random_device rd; std::mt19937 gen(rd()); std::uniform_int_distribution<long long> genValues(1, std::numeric_limits<long long>::max()); const size_t metrics = 1000; // Test a large numbers of zeros, and incremental numbers in a full buffer for (int j = 0; j < 2; j++) { TestTie c; auto st = c.addSample(generateSample(rd, genValues, metrics)); ASSERT_HAS_SPACE(st); for (size_t i = 0; i != FTDCConfig::kMaxSamplesPerArchiveMetricChunkDefault - 2; i++) { st = c.addSample(generateSample(rd, genValues, metrics)); ASSERT_HAS_SPACE(st); } st = c.addSample(generateSample(rd, genValues, metrics)); ASSERT_FULL(st); // Add Value st = c.addSample(generateSample(rd, genValues, metrics)); ASSERT_HAS_SPACE(st); } }
// Test a full buffer TEST(FTDCCompressor, TestFull) { // Test a large numbers of zeros, and incremental numbers in a full buffer for (int j = 0; j < 2; j++) { TestTie c; auto st = c.addSample(BSON("name" << "joe" << "key1" << 33 << "key2" << 42)); ASSERT_HAS_SPACE(st); for (size_t i = 0; i <= FTDCConfig::kMaxSamplesPerArchiveMetricChunkDefault - 2; i++) { st = c.addSample(BSON("name" << "joe" << "key1" << static_cast<long long int>(i * j) << "key2" << 45)); ASSERT_HAS_SPACE(st); } st = c.addSample(BSON("name" << "joe" << "key1" << 34 << "key2" << 45)); ASSERT_FULL(st); // Add Value st = c.addSample(BSON("name" << "joe" << "key1" << 34 << "key2" << 45)); ASSERT_HAS_SPACE(st); } }
//TODO: add more tests static bool testAddIngredient() { Dish dish = dishCreate("Shanim Hasumot", "Shanim Bli Regesh", 2); Ingredient ing1 = ingredientInitialize("Shanim Mehatsad", MEATY, 1, 1, 1, NULL); Ingredient ing2 = ingredientInitialize("Menutak", MILKY, 1, 1, 1, NULL); Ingredient ing3 = ingredientInitialize("Male Be-Uvdot", PARVE, 1, 1, 1, NULL); ASSERT_NULL_ARGUMENT(dishAddIngredient(NULL, ing1)); ASSERT_SUCCESS(dishAddIngredient(dish, ing1)); ASSERT_KOSHER_VIOLATION(dishAddIngredient(dish, ing2)); ASSERT_SUCCESS(dishAddIngredient(dish, ing1)); ASSERT_FULL(dishAddIngredient(dish, ing3)); dishDestroy(dish); return true; }