- Timestamp:
- Dec 9, 2010, 9:12:10 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/test/unit/dbnp/studycapturing/TemplateFieldTests.groovy
r959 r1257 2 2 3 3 import grails.test.* 4 import dbnp.data.Ontology 4 5 5 6 class TemplateFieldTests extends GrailsUnitTestCase { … … 185 186 fail(); 186 187 } 188 } 189 190 void testContentEquals() { 191 // Check whether the fields matter 192 TemplateField tf1 = new TemplateField( entity: dbnp.studycapturing.Subject, name: 'Weight', type: TemplateFieldType.LONG, unit: 'kg', comments: 'Weight field' ) 193 TemplateField tf2 = new TemplateField( entity: dbnp.studycapturing.Subject, name: 'Weight', type: TemplateFieldType.LONG, unit: 'kg', comments: 'Weight field 2' ) 194 TemplateField tf3 = new TemplateField( entity: dbnp.studycapturing.Subject, name: 'Length', type: TemplateFieldType.LONG, unit: 'm', comments: 'Length field' ) 195 TemplateField tf4 = new TemplateField( entity: dbnp.studycapturing.Subject, name: 'Length', type: TemplateFieldType.LONG, unit: 'm', comments: 'Length field', required: true ) 196 TemplateField tf5 = new TemplateField( entity: dbnp.studycapturing.Study, name: 'Length', type: TemplateFieldType.LONG, unit: 'm', comments: 'Length field', required: true ) 197 198 TemplateField tf6 = new TemplateField( entity: dbnp.studycapturing.Subject, name: 'Species', type: TemplateFieldType.ONTOLOGYTERM ) 199 TemplateField tf7 = new TemplateField( entity: dbnp.studycapturing.Subject, name: 'Species', type: TemplateFieldType.ONTOLOGYTERM ) 200 201 TemplateField tf8 = new TemplateField( entity: dbnp.studycapturing.Subject, name: 'Species', type: TemplateFieldType.STRINGLIST ) 202 TemplateField tf9 = new TemplateField( entity: dbnp.studycapturing.Subject, name: 'Species', type: TemplateFieldType.STRINGLIST ) 203 204 mockDomain( TemplateField, [tf1, tf2, tf3, tf4, tf5, tf6, tf7, tf8, tf9] ); 205 206 assert( tf1.contentEquals( tf1 ) ); 207 assert( tf1.contentEquals( tf2 ) ); 208 assert( tf2.contentEquals( tf1 ) ); 209 assert( !tf1.contentEquals( tf3 ) ); 210 assert( !tf3.contentEquals( tf4 ) ); 211 assert( !tf5.contentEquals( tf4 ) ); 212 213 // Test ontology fields 214 Ontology o1 = new Ontology( ncboId: 1000, ncboVersionedId: 14192, name: "Ontology 1" ) 215 Ontology o2 = new Ontology( ncboId: 1000, ncboVersionedId: 14192, name: "Ontology 2" ) 216 Ontology o3 = new Ontology( ncboId: 1000, ncboVersionedId: 5123, name: "Ontology 3" ) 217 Ontology o4 = new Ontology( ncboId: 4123, ncboVersionedId: 14192, name: "Ontology 4" ) 218 219 tf6.addToOntologies( o1 ) 220 221 // Different number of ontologies 222 assert( !tf6.contentEquals( tf7 ) ); 223 224 tf7.addToOntologies( o1 ); 225 226 // Same ontologies 227 assert( tf6.contentEquals( tf7 ) ); 228 229 tf7.ontologies.clear() 230 tf7.addToOntologies( o2 ); 231 232 // Ontologies with the same ncboId 233 assert( !tf6.contentEquals( tf7 ) ); 234 235 tf6.ontologies.clear(); tf7.ontologies.clear() 236 tf6.addToOntologies( o1 ) 237 tf6.addToOntologies( o4 ) 238 tf7.addToOntologies( o4 ); 239 tf7.addToOntologies( o1 ); 240 241 // Different order but same ontologies 242 assert( tf6.contentEquals( tf7 ) ); 243 244 // Test listentries 245 246 assert( tf8.contentEquals( tf9 ) ); 247 248 TemplateFieldListItem l1 = new TemplateFieldListItem( name: 'string1' ); 249 TemplateFieldListItem l2 = new TemplateFieldListItem( name: 'string1' ); 250 TemplateFieldListItem l3 = new TemplateFieldListItem( name: 'string2' ); 251 TemplateFieldListItem l4 = new TemplateFieldListItem( name: 'string3' ); 252 253 tf8.addToListEntries( l1 ); 254 255 // Different number of list entries 256 assert( !tf8.contentEquals( tf9 ) ); 257 258 tf9.addToListEntries( l1 ); 259 260 // Same list entries 261 assert( tf8.contentEquals( tf9 ) ); 262 263 tf9.listEntries.clear(); 264 tf9.addToListEntries( l2 ); 265 266 // Different list entries with the same name 267 assert( tf8.contentEquals( tf9 ) ); 268 269 tf9.listEntries.clear(); 270 tf9.addToListEntries( l3 ); 271 272 // Different list entries 273 assert( !tf8.contentEquals( tf9 ) ); 274 275 // Same entries but different order 276 tf8.listEntries.clear(); 277 tf9.listEntries.clear(); 278 tf8.addToListEntries( l2 ); 279 tf8.addToListEntries( l3 ); 280 tf9.addToListEntries( l3 ); 281 tf9.addToListEntries( l2 ); 282 283 // Different order but same list entries 284 assert( tf8.contentEquals( tf9 ) ); 187 285 188 286 }
Note: See TracChangeset
for help on using the changeset viewer.