Data Type in Groovy: align with `Spock` testing framework

This commit is contained in:
Alex Golub 2023-01-18 22:04:08 +02:00
parent d2eb17077f
commit c333a3f359
2 changed files with 72 additions and 55 deletions

View File

@ -2,13 +2,18 @@ package com.baeldung.determinedatatype
class Person {
private int ageAsInt
private Double ageAsDouble
private String ageAsString
int ageAsInt
Double ageAsDouble
String ageAsString
Person() {}
Person(int ageAsInt) { this.ageAsInt = ageAsInt }
Person(Double ageAsDouble) { this.ageAsDouble = ageAsDouble }
Person(String ageAsString) { this.ageAsString = ageAsString }
}
class Student extends Person {}
class Student extends Person {
}

View File

@ -1,56 +1,68 @@
package com.baeldung.determinedatatype
import org.junit.Assert
import org.junit.Test
import com.baeldung.determinedatatype.Person
import spock.lang.Specification
public class PersonTest {
class PersonTest extends Specification {
@Test
public void givenWhenParameterTypeIsInteger_thenReturnTrue() {
def "givenWhenParameterTypeIsIntegerThenReturnTrue"() {
given:
Person personObj = new Person(10)
Assert.assertTrue(personObj.ageAsInt instanceof Integer)
expect:
personObj.ageAsInt.class == Integer
}
@Test
public void givenWhenParameterTypeIsDouble_thenReturnTrue() {
def "givenWhenParameterTypeIsDouble_thenReturnTrue"() {
given:
Person personObj = new Person(10.0)
Assert.assertTrue((personObj.ageAsDouble).getClass() == Double)
expect:
personObj.ageAsDouble.class == Double
}
@Test
public void givenWhenParameterTypeIsString_thenReturnTrue() {
def "givenWhenParameterTypeIsString_thenReturnTrue"() {
given:
Person personObj = new Person("10 years")
Assert.assertTrue(personObj.ageAsString.class == String)
expect:
personObj.ageAsString.class == String
}
@Test
public void givenClassName_WhenParameterIsInteger_thenReturnTrue() {
Assert.assertTrue(Person.class.getDeclaredField('ageAsInt').type == int.class)
def "givenClassName_WhenParameterIsInteger_thenReturnTrue"() {
expect:
Person.class.getDeclaredField('ageAsInt').type == int.class
}
@Test
public void givenWhenObjectIsInstanceOfType_thenReturnTrue() {
def "givenWhenObjectIsInstanceOfType_thenReturnTrue"() {
given:
Person personObj = new Person()
Assert.assertTrue(personObj instanceof Person)
expect:
personObj.class == Person
}
@Test
public void givenWhenInstanceIsOfSubtype_thenReturnTrue() {
def "givenWhenInstanceIsOfSubtype_thenReturnTrue"() {
given:
Student studentObj = new Student()
Assert.assertTrue(studentObj in Person)
expect:
studentObj.class.superclass == Person
}
@Test
public void givenGroovyList_WhenFindClassName_thenReturnTrue() {
def "givenGroovyList_WhenFindClassName_thenReturnTrue"() {
given:
def ageList = ['ageAsString', 'ageAsDouble', 10]
Assert.assertTrue(ageList.class == ArrayList)
Assert.assertTrue(ageList.getClass() == ArrayList)
expect:
ageList.class == ArrayList
ageList.getClass() == ArrayList
}
@Test
public void givenGrooyMap_WhenFindClassName_thenReturnTrue() {
def "givenGroovyMap_WhenFindClassName_thenReturnTrue"() {
given:
def ageMap = [ageAsString: '10 years', ageAsDouble: 10.0]
Assert.assertFalse(ageMap.class == LinkedHashMap)
expect:
ageMap.getClass() == LinkedHashMap
}
}