int main(void) { int n, *m, *a, i, x; while (scanf("%d", &n) == 1 && n > 0) { m = malloc(n*sizeof(int)); a = malloc(n*sizeof(int)); assert(m && a); printf("Enter moduli:\n"); for (i = 0; i < n; i++) { scanf("%d", m+i); } printf("Enter right-hand side:\n"); for (i = 0; i < n; i++) { scanf("%d", a+i); } x = cra(n, m, a); printf("x = %d\n", x); for (i = 0; i < n; i++) { assert((x-a[i]) % m[i] == 0); } free(m); free(a); } return 0; }
/* **************************************************************************** * * render - */ TEST(ContextRegistrationAttributeVector, render) { ContextRegistrationAttributeVector crav; ContextRegistrationAttribute cra("name", "type", "false"); ContextRegistrationAttribute cra2("name2", "type2", "true"); std::string out; const char* outfile1 = "ngsi.contextRegistrationAttributeVector.render1.middle.json"; const char* outfile2 = "ngsi.contextRegistrationAttributeVector.render2.middle.json"; utInit(); out = crav.render(""); EXPECT_STREQ("", out.c_str()); out = crav.render(""); EXPECT_STREQ("", out.c_str()); crav.push_back(&cra); out = crav.render(""); EXPECT_EQ("OK", testDataFromFile(expectedBuf, sizeof(expectedBuf), outfile1)) << "Error getting test data from '" << outfile1 << "'"; EXPECT_STREQ(expectedBuf, out.c_str()); crav.push_back(&cra2); out = crav.render(""); EXPECT_EQ("OK", testDataFromFile(expectedBuf, sizeof(expectedBuf), outfile2)) << "Error getting test data from '" << outfile2 << "'"; EXPECT_STREQ(expectedBuf, out.c_str()); utExit(); }
/* **************************************************************************** * * render - */ TEST(ContextRegistrationAttribute, render) { ContextRegistrationAttribute cra("name", "type", "false"); std::string out; const char* outfile1 = "ngsi.contextRegistrationAttribute.render.middle.xml"; const char* outfile2 = "ngsi.contextRegistrationAttribute.render.middle.json"; utInit(); out = cra.render(XML, ""); EXPECT_EQ("OK", testDataFromFile(expectedBuf, sizeof(expectedBuf), outfile1)) << "Error getting test data from '" << outfile1 << "'"; EXPECT_STREQ(expectedBuf, out.c_str()); out = cra.render(JSON, ""); EXPECT_EQ("OK", testDataFromFile(expectedBuf, sizeof(expectedBuf), outfile2)) << "Error getting test data from '" << outfile2 << "'"; EXPECT_STREQ(expectedBuf, out.c_str()); utExit(); }