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>checker-plugin</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-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 --> | ||||
| @ -1034,6 +1035,7 @@ | ||||
|                 <module>cdi</module> | ||||
|                 <module>checker-plugin</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-11</module> --> <!-- We haven't upgraded to java 11. Fixing in BAEL-10841 -->  | ||||
|                 <module>core-java-8</module> | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user