BAEL-2661 - Groovy def keyword
This commit is contained in:
		
							parent
							
								
									9ff896fe4e
								
							
						
					
					
						commit
						d0a6c5701a
					
				
							
								
								
									
										5
									
								
								core-groovy-2/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								core-groovy-2/README.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,5 @@ | |||||||
|  | # Groovy | ||||||
|  | 
 | ||||||
|  | ## Relevant articles: | ||||||
|  | 
 | ||||||
|  | - [Groovy def Keyword] | ||||||
							
								
								
									
										123
									
								
								core-groovy-2/pom.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										123
									
								
								core-groovy-2/pom.xml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,123 @@ | |||||||
|  | <?xml version="1.0" encoding="UTF-8"?> | ||||||
|  | <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||||||
|  |     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||||||
|  |     <modelVersion>4.0.0</modelVersion> | ||||||
|  |     <artifactId>core-groovy-2</artifactId> | ||||||
|  |     <version>1.0-SNAPSHOT</version> | ||||||
|  |     <name>core-groovy-2</name> | ||||||
|  |     <packaging>jar</packaging> | ||||||
|  | 
 | ||||||
|  |     <parent> | ||||||
|  |         <groupId>com.baeldung</groupId> | ||||||
|  |         <artifactId>parent-modules</artifactId> | ||||||
|  |         <version>1.0.0-SNAPSHOT</version> | ||||||
|  |     </parent> | ||||||
|  | 
 | ||||||
|  |     <dependencies> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>org.codehaus.groovy</groupId> | ||||||
|  |             <artifactId>groovy</artifactId> | ||||||
|  |             <version>${groovy.version}</version> | ||||||
|  |         </dependency> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>org.codehaus.groovy</groupId> | ||||||
|  |             <artifactId>groovy-all</artifactId> | ||||||
|  |             <version>${groovy-all.version}</version> | ||||||
|  |             <type>pom</type> | ||||||
|  |         </dependency> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>org.codehaus.groovy</groupId> | ||||||
|  |             <artifactId>groovy-dateutil</artifactId> | ||||||
|  |             <version>${groovy.version}</version> | ||||||
|  |         </dependency> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>org.codehaus.groovy</groupId> | ||||||
|  |             <artifactId>groovy-sql</artifactId> | ||||||
|  |             <version>${groovy-sql.version}</version> | ||||||
|  |         </dependency> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>org.junit.platform</groupId> | ||||||
|  |             <artifactId>junit-platform-runner</artifactId> | ||||||
|  |             <version>${junit.platform.version}</version> | ||||||
|  |             <scope>test</scope> | ||||||
|  |         </dependency> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>org.hsqldb</groupId> | ||||||
|  |             <artifactId>hsqldb</artifactId> | ||||||
|  |             <version>${hsqldb.version}</version> | ||||||
|  |             <scope>test</scope> | ||||||
|  |         </dependency> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>org.spockframework</groupId> | ||||||
|  |             <artifactId>spock-core</artifactId> | ||||||
|  |             <version>${spock-core.version}</version> | ||||||
|  |             <scope>test</scope> | ||||||
|  |         </dependency> | ||||||
|  |     </dependencies> | ||||||
|  | 
 | ||||||
|  |     <build> | ||||||
|  |         <plugins> | ||||||
|  |             <plugin> | ||||||
|  |                 <groupId>org.codehaus.gmavenplus</groupId> | ||||||
|  |                 <artifactId>gmavenplus-plugin</artifactId> | ||||||
|  |                 <version>${gmavenplus-plugin.version}</version> | ||||||
|  |                 <executions> | ||||||
|  |                     <execution> | ||||||
|  |                         <goals> | ||||||
|  |                             <goal>addSources</goal> | ||||||
|  |                             <goal>addTestSources</goal> | ||||||
|  |                             <goal>compile</goal> | ||||||
|  |                             <goal>compileTests</goal> | ||||||
|  |                         </goals> | ||||||
|  |                     </execution> | ||||||
|  |                 </executions> | ||||||
|  |             </plugin> | ||||||
|  |             <plugin> | ||||||
|  |                 <artifactId>maven-failsafe-plugin</artifactId> | ||||||
|  |                 <version>${maven-failsafe-plugin.version}</version> | ||||||
|  |                 <dependencies> | ||||||
|  |                     <dependency> | ||||||
|  |                         <groupId>org.junit.platform</groupId> | ||||||
|  |                         <artifactId>junit-platform-surefire-provider</artifactId> | ||||||
|  |                         <version>${junit.platform.version}</version> | ||||||
|  |                     </dependency> | ||||||
|  |                 </dependencies> | ||||||
|  |                 <executions> | ||||||
|  |                     <execution> | ||||||
|  |                         <id>junit5</id> | ||||||
|  |                         <goals> | ||||||
|  |                             <goal>integration-test</goal> | ||||||
|  |                             <goal>verify</goal> | ||||||
|  |                         </goals> | ||||||
|  |                         <configuration> | ||||||
|  |                             <includes> | ||||||
|  |                                 <include>**/*Test5.java</include> | ||||||
|  |                             </includes> | ||||||
|  |                         </configuration> | ||||||
|  |                     </execution> | ||||||
|  |                 </executions> | ||||||
|  |             </plugin> | ||||||
|  |         </plugins> | ||||||
|  |     </build> | ||||||
|  | 
 | ||||||
|  |     <repositories> | ||||||
|  |         <repository> | ||||||
|  |             <id>central</id> | ||||||
|  |             <url>http://jcenter.bintray.com</url> | ||||||
|  |         </repository> | ||||||
|  |     </repositories> | ||||||
|  | 
 | ||||||
|  |     <properties> | ||||||
|  |         <junit.platform.version>1.0.0</junit.platform.version> | ||||||
|  | <!--         <groovy.version>2.4.13</groovy.version> --> | ||||||
|  | <!--         <groovy-all.version>2.4.13</groovy-all.version> --> | ||||||
|  | <!--         <groovy-sql.version>2.4.13</groovy-sql.version> --> | ||||||
|  |         <groovy.version>2.5.6</groovy.version> | ||||||
|  |         <groovy-all.version>2.5.6</groovy-all.version> | ||||||
|  |         <groovy-sql.version>2.5.6</groovy-sql.version> | ||||||
|  |         <hsqldb.version>2.4.0</hsqldb.version> | ||||||
|  |         <spock-core.version>1.1-groovy-2.4</spock-core.version> | ||||||
|  |         <gmavenplus-plugin.version>1.6</gmavenplus-plugin.version> | ||||||
|  |     </properties> | ||||||
|  | </project> | ||||||
|  | 
 | ||||||
| @ -0,0 +1,73 @@ | |||||||
|  | package com.baeldung.defkeyword | ||||||
|  | 
 | ||||||
|  | import org.codehaus.groovy.runtime.NullObject | ||||||
|  | import org.codehaus.groovy.runtime.typehandling.GroovyCastException | ||||||
|  | 
 | ||||||
|  | import groovy.transform.TypeChecked | ||||||
|  | import groovy.transform.TypeCheckingMode | ||||||
|  | 
 | ||||||
|  | @TypeChecked | ||||||
|  | class DefUnitTest extends GroovyTestCase { | ||||||
|  |      | ||||||
|  |     def id | ||||||
|  |     def firstName = "Samwell" | ||||||
|  |     def listOfCountries = ['USA', 'UK', 'FRANCE', 'INDIA'] | ||||||
|  |      | ||||||
|  |     @TypeChecked(TypeCheckingMode.SKIP) | ||||||
|  |     def multiply(x, y) { | ||||||
|  |         return x*y | ||||||
|  |     } | ||||||
|  |          | ||||||
|  |     @TypeChecked(TypeCheckingMode.SKIP) | ||||||
|  |     void testDef() { | ||||||
|  |          | ||||||
|  |         def list | ||||||
|  |         assert list.getClass() == org.codehaus.groovy.runtime.NullObject | ||||||
|  |         assert list.is(null) | ||||||
|  |          | ||||||
|  |         list = [1,2,4] | ||||||
|  |         assert list instanceof ArrayList | ||||||
|  |                  | ||||||
|  |         int sum = 200 | ||||||
|  |         try { | ||||||
|  |             sum = [12] //GroovyCastException | ||||||
|  |             sum = "nill" //GroovyCastException | ||||||
|  |         } catch(GroovyCastException) { | ||||||
|  |             println "Cannot assign anything other than integer" | ||||||
|  |         } | ||||||
|  |          | ||||||
|  |         def rate | ||||||
|  |         assert rate == null | ||||||
|  |         assert rate.getClass() == org.codehaus.groovy.runtime.NullObject | ||||||
|  |          | ||||||
|  |         rate = 12 | ||||||
|  |         assert rate instanceof Integer | ||||||
|  |          | ||||||
|  |         rate = "Not Available" | ||||||
|  |         assert rate instanceof String | ||||||
|  |          | ||||||
|  |         rate = [1, 4] | ||||||
|  |         assert rate instanceof List | ||||||
|  |          | ||||||
|  |         assert divide(12, 3) instanceof BigDecimal | ||||||
|  |         assert divide(1, 0) instanceof String | ||||||
|  | 
 | ||||||
|  |     } | ||||||
|  |      | ||||||
|  |     def divide(int x, int y) { | ||||||
|  |         if(y==0) { | ||||||
|  |             return "Should not divide by 0" | ||||||
|  |         } else { | ||||||
|  |             return x/y | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |      | ||||||
|  |     def greetMsg() { | ||||||
|  |         println "Hello! I am Groovy" | ||||||
|  |     } | ||||||
|  |      | ||||||
|  |     void testDefVsType() { | ||||||
|  |         def int count | ||||||
|  |         assert count instanceof Integer | ||||||
|  |     } | ||||||
|  | } | ||||||
							
								
								
									
										2
									
								
								pom.xml
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								pom.xml
									
									
									
									
									
								
							| @ -376,6 +376,7 @@ | |||||||
|                 <module>cdi</module> |                 <module>cdi</module> | ||||||
|                 <module>checker-plugin</module> |                 <module>checker-plugin</module> | ||||||
|                 <module>core-groovy</module> |                 <module>core-groovy</module> | ||||||
|  |                 <module>core-groovy-2</module> | ||||||
|                 <!-- <module>core-java-10</module> --> <!-- We haven't upgraded to java 10. Fixing in BAEL-10841 --> |                 <!-- <module>core-java-10</module> --> <!-- We haven't upgraded to java 10. Fixing in BAEL-10841 --> | ||||||
|                 <!-- <module>core-java-11</module> --> <!-- We haven't upgraded to java 11. Fixing in BAEL-10841 -->  |                 <!-- <module>core-java-11</module> --> <!-- We haven't upgraded to java 11. Fixing in BAEL-10841 -->  | ||||||
|                 <!-- <module>core-java-12</module> --> <!-- We haven't upgraded to java 12. Fixing in BAEL-10841 --> |                 <!-- <module>core-java-12</module> --> <!-- We haven't upgraded to java 12. Fixing in BAEL-10841 --> | ||||||
| @ -1034,6 +1035,7 @@ | |||||||
|                 <module>cdi</module> |                 <module>cdi</module> | ||||||
|                 <module>checker-plugin</module> |                 <module>checker-plugin</module> | ||||||
|                 <module>core-groovy</module> |                 <module>core-groovy</module> | ||||||
|  |                 <module>core-groovy-2</module> | ||||||
|                 <!-- <module>core-java-10</module> --> <!-- We haven't upgraded to java 10. Fixing in BAEL-10841 --> |                 <!-- <module>core-java-10</module> --> <!-- We haven't upgraded to java 10. Fixing in BAEL-10841 --> | ||||||
|                 <!-- <module>core-java-11</module> --> <!-- We haven't upgraded to java 11. Fixing in BAEL-10841 -->  |                 <!-- <module>core-java-11</module> --> <!-- We haven't upgraded to java 11. Fixing in BAEL-10841 -->  | ||||||
|                 <module>core-java-8</module> |                 <module>core-java-8</module> | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user