Changeset 487 for trunk/test
- Timestamp:
- May 27, 2010, 4:03:31 PM (11 years ago)
- Location:
- trunk/test
- Files:
-
- 1 added
- 6 deleted
- 2 edited
- 5 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/test/integration/gscf/StudyTests.groovy
r412 r487 23 23 final Date testStudyStartDate = Date.parse('yyyy-MM-dd','2007-12-11') 24 24 final Date testStudyStartDate2 = Date.parse('yyyy-MM-dd','2008-05-11') 25 final String testStudyStartDateString2 = "11-5-20 10"25 final String testStudyStartDateString2 = "11-5-2008" 26 26 // The following dates do net yet work: 27 27 //final String testStudyStartDateString2 = "11-05-2010" -
trunk/test/unit/dbnp/data/OntologyControllerTests.groovy
r448 r487 1 package dbnp.data 2 1 3 import grails.test.* 2 4 -
trunk/test/unit/dbnp/data/TermControllerTests.groovy
r448 r487 1 package dbnp.data 2 1 3 import grails.test.* 2 4 -
trunk/test/unit/dbnp/importer/ImporterTagLibTests.groovy
r448 r487 1 package importer1 package dbnp.importer 2 2 3 3 import grails.test.* -
trunk/test/unit/dbnp/query/QueryControllerTests.groovy
r448 r487 1 package dbnp.query 1 2 import grails.test.* 2 3 -
trunk/test/unit/dbnp/studycapturing/StudyControllerTests.groovy
r448 r487 1 package dbnp.studycapturing 1 2 import grails.test.* 2 3 -
trunk/test/unit/dbnp/studycapturing/TemplateFieldTests.groovy
r84 r487 4 4 5 5 class TemplateFieldTests extends GrailsUnitTestCase { 6 def testEvent; 6 7 protected void setUp() { 7 8 super.setUp() 9 10 // Create the template itself 11 def testTemplate = new Template( 12 name: 'Template for testing relative date fields', 13 entity: dbnp.studycapturing.Event, 14 fields: [ 15 new TemplateField( 16 name: 'testStartDate', 17 type: TemplateFieldType.DATE 18 ), 19 new TemplateField( 20 name: 'testRelTime', 21 type: TemplateFieldType.RELTIME 22 ) 23 ] 24 ); 25 26 this.testEvent = new Event( 27 template: testTemplate, 28 startTime: Date.parse('yyyy-MM-dd','2008-01-02'), 29 endTime: Date.parse('yyyy-MM-dd','2008-01-05') 30 ) 8 31 } 9 32 … … 12 35 } 13 36 14 void testSomething() { 37 void testRelTimeFieldCreation() { 38 def RelTimeField = new TemplateField( 39 name: 'RelTime', 40 type: TemplateFieldType.RELTIME 41 ); 42 } 43 44 void testRelTimeSetValue() { 45 // Check whether the field exists 46 assert this.testEvent.fieldExists( 'testRelTime' ); 47 48 // See that it is not a domain field 49 assert !this.testEvent.isDomainField( 'testRelTime' ); 50 println( this.testEvent.getStore( TemplateFieldType.RELTIME ) ); 51 52 this.testEvent.setFieldValue( 'testRelTime', 10 ); 53 assert this.testEvent.getFieldValue( 'testRelTime' ) == 10; 54 55 this.testEvent.setFieldValue( 'testRelTime', 0 ); 56 assert this.testEvent.getFieldValue( 'testRelTime' ) == 0; 57 58 this.testEvent.setFieldValue( 'testRelTime', -130 ); 59 assert this.testEvent.getFieldValue( 'testRelTime' ) == -130; 60 61 // RelTime must be able to handle 100 years 62 long hundredYears = 100L * 365 * 24 * 3600; 63 this.testEvent.setFieldValue( 'testRelTime', hundredYears ); 64 assert this.testEvent.getFieldValue( 'testRelTime' ) == hundredYears; 65 } 66 67 // Tests the parsing of a string for relative dates 68 // @see TemplateEntity.setFieldValue 69 // 70 // The relative date may be set as a string, using the following format 71 // 72 // #w #d #h #m #s 73 // 74 // Where w = weeks, d = days, h = hours, m = minutes, s = seconds 75 // 76 // The spaces between the values are optional. Every timespan 77 // (w, d, h, m, s) must appear at most once. You can also omit 78 // timespans if needed or use a different order. 79 // Other characters are disregarded, allthough results may not 80 // always be as expected. 81 // 82 // If an incorrect format is used, which can't be parsed 83 // an IllegalFormatException is thrown. 84 // 85 // An empty span is treated as zero seconds. 86 // 87 // Examples: 88 // --------- 89 // 5d 3h 20m // 5 days, 3 hours and 20 minutes 90 // 6h 2d // 2 days, 6 hours 91 // 10m 200s // 13 minutes, 20 seconds (200s == 3m + 20s) 92 // 5w4h15m // 5 weeks, 4 hours, 15 minutes 93 // 94 // 16x14w10d // Incorrect. 16x is disregarded, so the 95 // // result is 15 weeks, 3 days 96 // 13days // Incorrect: days should be d, but this is 97 // // parsed as 13d, 0 seconds 98 // 99 void testRelTimeParser() { 100 def s = 1L; 101 def m = 60L * s; 102 def h = 60L * m; 103 def d = 24L * h; 104 def w = 7L * d; 105 106 this.testEvent.setFieldValue( 'testRelTime', '' ); 107 assert this.testEvent.getFieldValue( 'testRelTime' ) == 0; 108 109 this.testEvent.setFieldValue( 'testRelTime', ' ' ); 110 assert this.testEvent.getFieldValue( 'testRelTime' ) == 0; 111 112 this.testEvent.setFieldValue( 'testRelTime', '5d 3h 20m' ); 113 assert this.testEvent.getFieldValue( 'testRelTime' ) == 5 * d + 3 * h + 20 * m; 114 115 this.testEvent.setFieldValue( 'testRelTime', '6h 2d' ); 116 assert this.testEvent.getFieldValue( 'testRelTime' ) == 2 * d + 6 * h; 117 118 this.testEvent.setFieldValue( 'testRelTime', '10m 200s' ); 119 assert this.testEvent.getFieldValue( 'testRelTime' ) == 10 * m + 200 * s; 120 121 this.testEvent.setFieldValue( 'testRelTime', '5w4h15m' ); 122 assert this.testEvent.getFieldValue( 'testRelTime' ) == 5 * w + 4 * h + 15 * m; 123 124 // Should parse correctly, allthough it is not completely correct 125 this.testEvent.setFieldValue( 'testRelTime', '16x14w10d' ); 126 assert this.testEvent.getFieldValue( 'testRelTime' ) == 14 * w + 10 * d; 127 128 this.testEvent.setFieldValue( 'testRelTime', '13days' ); 129 assert this.testEvent.getFieldValue( 'testRelTime' ) == 13 * d; 130 131 // Test whether an IllegalFormatException is thrown 132 try { 133 this.testEvent.setFieldValue( 'testRelTime', 'nonexistent relative date' ); 134 fail(); 135 } catch(IllegalArgumentException ex) { 136 } catch( Exception ex ) { 137 fail(); 138 } 15 139 16 140 }
Note: See TracChangeset
for help on using the changeset viewer.