Skip to content

Commit b3f4e1d

Browse files
add DataColumn.none
1 parent cde9eb8 commit b3f4e1d

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

core/src/main/kotlin/org/jetbrains/kotlinx/dataframe/api/none.kt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,24 @@
11
package org.jetbrains.kotlinx.dataframe.api
22

3+
import org.jetbrains.kotlinx.dataframe.DataColumn
34
import org.jetbrains.kotlinx.dataframe.DataFrame
45
import org.jetbrains.kotlinx.dataframe.DataRow
6+
import org.jetbrains.kotlinx.dataframe.Predicate
57
import org.jetbrains.kotlinx.dataframe.RowFilter
68
import org.jetbrains.kotlinx.dataframe.columns.ColumnSet
79
import org.jetbrains.kotlinx.dataframe.columns.ColumnsResolver
10+
import org.jetbrains.kotlinx.dataframe.columns.size
11+
import org.jetbrains.kotlinx.dataframe.columns.values
812
import org.jetbrains.kotlinx.dataframe.documentation.DslGrammarTemplateColumnsSelectionDsl.DslGrammarTemplate
913
import org.jetbrains.kotlinx.dataframe.impl.columns.ColumnListImpl
1014

15+
// region DataColumn
16+
17+
/** Returns `true` if none of the [values] match the given [predicate] or [values] is empty. */
18+
public fun <T> DataColumn<T>.none(predicate: Predicate<T>): Boolean = values.none(predicate)
19+
20+
// endregion
21+
1122
// region DataFrame
1223

1324
/**

core/src/test/kotlin/org/jetbrains/kotlinx/dataframe/api/UtilFunctionsTest.kt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,13 @@ class UtilFunctionsTest : TestBase() {
1818
ageCol.any { it > 90 } shouldBe false
1919
}
2020

21+
@Test
22+
fun `DataColumn none`() {
23+
val ageCol = df["age"] as DataColumn<Int>
24+
ageCol.none { it > 40 } shouldBe false
25+
ageCol.none { it > 90 } shouldBe true
26+
}
27+
2128
@Test
2229
fun `DataFrame any`() {
2330
df.any { "age"<Int>() > 40 && "isHappy"<Boolean>() } shouldBe true

0 commit comments

Comments
 (0)