Skip to content

Commit

Permalink
Add DSL tests
Browse files Browse the repository at this point in the history
  • Loading branch information
Idane committed Aug 15, 2021
1 parent 2197042 commit c524d1e
Show file tree
Hide file tree
Showing 3 changed files with 1,147 additions and 36 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -197,36 +197,6 @@ class FilterFieldsBuilder(private val filterFields: MutableList<FilterField> = m
}
}

@JvmName("stringIn")
infix fun String.In(target: Collection<String>) {
filterFields += FilterField(this, FilterFieldOperation.In, FilterFieldDataType.String, *target.toTypedArray())
}

@JvmName("intIn")
infix fun String.In(target: Collection<Int>) {
filterFields += FilterField(this, FilterFieldOperation.In, FilterFieldDataType.Integer, *target.toTypedArray())
}

@JvmName("longIn")
infix fun String.In(target: Collection<Long>) {
filterFields += FilterField(this, FilterFieldOperation.In, FilterFieldDataType.Long, *target.toTypedArray())
}

@JvmName("doubleIn")
infix fun String.In(target: Collection<Double>) {
filterFields += FilterField(this, FilterFieldOperation.In, FilterFieldDataType.Double, *target.toTypedArray())
}

@JvmName("dateIn")
infix fun String.In(target: Collection<Date>) {
filterFields += FilterField(this, FilterFieldOperation.In, FilterFieldDataType.Date, *target.toTypedArray())
}

@JvmName("enumIn")
infix fun <T : Enum<T>> String.In(target: Collection<T>) {
filterFields += FilterField(this, FilterFieldOperation.In, target.first()::class.java.canonicalName, *(target as Collection<*>).toTypedArray())
}

@JvmName("stringRequireNotIn")
infix fun String.RequireNotIn(target: Collection<String>) {
if(target.isEmpty()) {
Expand Down Expand Up @@ -281,6 +251,36 @@ class FilterFieldsBuilder(private val filterFields: MutableList<FilterField> = m
}
}

@JvmName("stringIn")
infix fun String.In(target: Collection<String>) {
filterFields += FilterField(this, FilterFieldOperation.In, FilterFieldDataType.String, *target.toTypedArray())
}

@JvmName("intIn")
infix fun String.In(target: Collection<Int>) {
filterFields += FilterField(this, FilterFieldOperation.In, FilterFieldDataType.Integer, *target.toTypedArray())
}

@JvmName("longIn")
infix fun String.In(target: Collection<Long>) {
filterFields += FilterField(this, FilterFieldOperation.In, FilterFieldDataType.Long, *target.toTypedArray())
}

@JvmName("doubleIn")
infix fun String.In(target: Collection<Double>) {
filterFields += FilterField(this, FilterFieldOperation.In, FilterFieldDataType.Double, *target.toTypedArray())
}

@JvmName("dateIn")
infix fun String.In(target: Collection<Date>) {
filterFields += FilterField(this, FilterFieldOperation.In, FilterFieldDataType.Date, *target.toTypedArray())
}

@JvmName("enumIn")
infix fun <T : Enum<T>> String.In(target: Collection<T>) {
filterFields += FilterField(this, FilterFieldOperation.In, target.first()::class.java.canonicalName, *(target as Collection<*>).toTypedArray())
}

@JvmName("stringNotIn")
infix fun String.NotIn(target: Collection<String>) {
filterFields += FilterField(this, FilterFieldOperation.NotIn, FilterFieldDataType.String, *target.toTypedArray())
Expand Down Expand Up @@ -313,19 +313,23 @@ class FilterFieldsBuilder(private val filterFields: MutableList<FilterField> = m

@JvmName("stringContainsIn")
infix fun String.ContainsIn(target: Collection<String>) {
filterFields += FilterField(this, FilterFieldOperation.ContainsIn, FilterFieldDataType.String, target)
filterFields += FilterField(this, FilterFieldOperation.ContainsIn, FilterFieldDataType.String, *(target as Collection<*>).toTypedArray())
}

@JvmName("stringNotContainsIn")
infix fun String.NotContainsIn(target: Collection<String>) {
filterFields += FilterField(this, FilterFieldOperation.NotContainsIn, FilterFieldDataType.String, target)
filterFields += FilterField(this, FilterFieldOperation.NotContainsIn, FilterFieldDataType.String, *(target as Collection<*>).toTypedArray())
}


infix fun String.Between(target: Int): BetweenBuilder<Int> {
return BetweenBuilder(this, target, FilterFieldDataType.Integer)
}

infix fun String.Between(target: Long): BetweenBuilder<Long> {
return BetweenBuilder(this, target, FilterFieldDataType.Long)
}

infix fun String.Between(target: Double): BetweenBuilder<Double> {
return BetweenBuilder(this, target, FilterFieldDataType.Double)
}
Expand All @@ -334,10 +338,6 @@ class FilterFieldsBuilder(private val filterFields: MutableList<FilterField> = m
return BetweenBuilder(this, target, FilterFieldDataType.Date)
}

infix fun String.Between(target: Long): BetweenBuilder<Long> {
return BetweenBuilder(this, target, FilterFieldDataType.Long)
}

infix fun String.isNull(condition: Boolean) {
when (condition) {
true -> filterFields += FilterField(this, FilterFieldOperation.IsNull, FilterFieldDataType.Object, null, null)
Expand Down

0 comments on commit c524d1e

Please sign in to comment.