~mbogomilov/maus/devel3

« back to all changes in this revision

Viewing changes to tests/cpp_unit/JsonCppProcessors/ObjectProcessorTest.cc

  • Committer: Durga Rajaram
  • Date: 2014-01-14 07:07:02 UTC
  • mfrom: (659.1.80 relcand)
  • Revision ID: durga@fnal.gov-20140114070702-2l1fuj1w6rraw7xe
Tags: MAUS-v0.7.6
MAUS-v0.7.6

Show diffs side-by-side

added added

removed removed

Lines of Context:
84
84
  EXPECT_TRUE(req_proc.GetThrowsIfUnknownBranches());
85
85
 
86
86
  Json::Value json_int = Json::Value(1.);
87
 
  EXPECT_THROW(not_req_proc.HasUnknownBranches(json_int), Squeal);
 
87
  EXPECT_THROW(not_req_proc.HasUnknownBranches(json_int), MAUS::Exception);
88
88
 
89
89
  Json::Value json_object_1;
90
90
  json_object_1["branch_a"] = Json::Value(1.);
93
93
  json_object_1["branch_u"] = Json::Value(3.);
94
94
  EXPECT_TRUE(not_req_proc.HasUnknownBranches(json_object_1));
95
95
 
96
 
  EXPECT_THROW(not_req_proc.JsonToCpp(json_object_1), Squeal);
 
96
  EXPECT_THROW(not_req_proc.JsonToCpp(json_object_1), MAUS::Exception);
97
97
  not_req_proc.SetThrowsIfUnknownBranches(false);
98
98
  TestObject* cpp_object = NULL;
99
99
  EXPECT_NO_THROW(cpp_object = not_req_proc.JsonToCpp(json_object_1));
105
105
TEST_F(ObjectProcessorTest, JsonToCppRequiredTest) {
106
106
  Json::Value json_int(1);
107
107
  // should throw if this is not an object at all
108
 
  EXPECT_THROW(req_proc.JsonToCpp(json_int), Squeal);
 
108
  EXPECT_THROW(req_proc.JsonToCpp(json_int), MAUS::Exception);
109
109
 
110
110
  Json::Value json_object(Json::objectValue);
111
111
  json_object["branch_a"] = Json::Value(1.);
124
124
  json_object["branch_b"] = Json::Value();
125
125
  json_object["branch_c"] = Json::Value("const");
126
126
  json_object["branch_d"] = Json::Value("const");
127
 
  EXPECT_THROW(req_proc.JsonToCpp(json_object), Squeal);
 
127
  EXPECT_THROW(req_proc.JsonToCpp(json_object), MAUS::Exception);
128
128
 
129
129
  // should throw if object is missing
130
130
  Json::Value json_object_missing_a(Json::objectValue);
131
131
  json_object_missing_a["branch_b"] = Json::Value(2.);
132
132
  json_object_missing_a["branch_c"] = Json::Value("const");
133
133
  json_object_missing_a["branch_d"] = Json::Value("const");
134
 
  EXPECT_THROW(req_proc.JsonToCpp(json_object_missing_a), Squeal);
 
134
  EXPECT_THROW(req_proc.JsonToCpp(json_object_missing_a), MAUS::Exception);
135
135
 
136
136
  Json::Value json_object_missing_b(Json::objectValue);
137
137
  json_object_missing_b["branch_a"] = Json::Value(2.);
138
138
  json_object_missing_b["branch_c"] = Json::Value("const");
139
139
  json_object_missing_b["branch_d"] = Json::Value("const");
140
 
  EXPECT_THROW(req_proc.JsonToCpp(json_object_missing_b), Squeal);
 
140
  EXPECT_THROW(req_proc.JsonToCpp(json_object_missing_b), MAUS::Exception);
141
141
 
142
142
  Json::Value json_object_missing_c(Json::objectValue);
143
143
  json_object_missing_c["branch_a"] = Json::Value(2.);
144
144
  json_object_missing_c["branch_b"] = Json::Value(1.);
145
145
  json_object_missing_c["branch_d"] = Json::Value("const");
146
 
  EXPECT_THROW(req_proc.JsonToCpp(json_object_missing_c), Squeal);
 
146
  EXPECT_THROW(req_proc.JsonToCpp(json_object_missing_c), MAUS::Exception);
147
147
 
148
148
  Json::Value json_object_missing_d(Json::objectValue);
149
149
  json_object_missing_d["branch_a"] = Json::Value(1.);
150
150
  json_object_missing_d["branch_b"] = Json::Value();
151
151
  json_object_missing_d["branch_c"] = Json::Value("const");
152
 
  EXPECT_THROW(req_proc.JsonToCpp(json_object_missing_d), Squeal);
 
152
  EXPECT_THROW(req_proc.JsonToCpp(json_object_missing_d), MAUS::Exception);
153
153
 
154
154
  // should throw if object is present but can't be processed
155
155
  json_object["branch_b"] = Json::Value("string");
156
 
  EXPECT_THROW(req_proc.JsonToCpp(json_object), Squeal);
 
156
  EXPECT_THROW(req_proc.JsonToCpp(json_object), MAUS::Exception);
157
157
 
158
158
  json_object["branch_b"] = Json::Value(2.);
159
159
  json_object["branch_a"] = Json::Value("string");
160
 
  EXPECT_THROW(req_proc.JsonToCpp(json_object), Squeal);
 
160
  EXPECT_THROW(req_proc.JsonToCpp(json_object), MAUS::Exception);
161
161
 
162
162
  json_object["branch_c"] = Json::Value("not_const");
163
163
  json_object["branch_a"] = Json::Value(2.);
164
 
  EXPECT_THROW(req_proc.JsonToCpp(json_object), Squeal);
 
164
  EXPECT_THROW(req_proc.JsonToCpp(json_object), MAUS::Exception);
165
165
}
166
166
 
167
167
TEST_F(ObjectProcessorTest, JsonToCppNotRequiredTest) {
184
184
 
185
185
  // should throw if object is present but can't be processed
186
186
  json_object["branch_b"] = Json::Value("string");
187
 
  EXPECT_THROW(req_proc.JsonToCpp(json_object), Squeal);
 
187
  EXPECT_THROW(req_proc.JsonToCpp(json_object), MAUS::Exception);
188
188
 
189
189
  json_object["branch_b"] = Json::Value(2.);
190
190
  json_object["branch_a"] = Json::Value("string");
191
 
  EXPECT_THROW(not_req_proc.JsonToCpp(json_object), Squeal);
 
191
  EXPECT_THROW(not_req_proc.JsonToCpp(json_object), MAUS::Exception);
192
192
 
193
193
  json_object["branch_c"] = Json::Value("not_const");
194
194
  json_object["branch_a"] = Json::Value(1.);
195
 
  EXPECT_THROW(not_req_proc.JsonToCpp(json_object), Squeal);
 
195
  EXPECT_THROW(not_req_proc.JsonToCpp(json_object), MAUS::Exception);
196
196
 
197
197
  // should return NULL on nullValue
198
198
  double* null_value = NULL;
214
214
 
215
215
  // Check throw on NULL
216
216
  test.SetB(NULL);
217
 
  EXPECT_THROW(req_proc.CppToJson(test, ""), Squeal);
 
217
  EXPECT_THROW(req_proc.CppToJson(test, ""), MAUS::Exception);
218
218
}
219
219
 
220
220
TEST_F(ObjectProcessorTest, CppToJsonNotRequiredTest) {