Skip to content

Commit

Permalink
Remove Unnecesary @nested (#4740)
Browse files Browse the repository at this point in the history
  • Loading branch information
BraisGabin committed Apr 25, 2022
1 parent 7880f4f commit a2734b1
Show file tree
Hide file tree
Showing 238 changed files with 25,745 additions and 26,846 deletions.

Large diffs are not rendered by default.

Expand Up @@ -12,84 +12,81 @@ import java.nio.file.Paths

class EntitySpec {

@Nested
inner class `entity signatures` {
private val path = Paths.get("/full/path/to/Test.kt")
private val code = compileContentForTest(
"""
package test
private val path = Paths.get("/full/path/to/Test.kt")
private val code = compileContentForTest(
"""
package test
class C : Any() {
class C : Any() {
private fun memberFun(): Int = 5
}
private fun memberFun(): Int = 5
}
fun topLevelFun(number: Int) = Unit
""".trimIndent(),
path.toString()
)
fun topLevelFun(number: Int) = Unit
""".trimIndent(),
path.toString()
)

@Nested
inner class `Named functions` {
@Nested
inner class `Named functions` {

private val functions = code.collectDescendantsOfType<KtNamedFunction>()
private val functions = code.collectDescendantsOfType<KtNamedFunction>()

@Test
fun `includes full function header, class name and filename`() {
val memberFunction = functions.first { it.name == "memberFun" }
@Test
fun `includes full function header, class name and filename`() {
val memberFunction = functions.first { it.name == "memberFun" }

assertThat(Entity.atName(memberFunction).signature)
.isEqualTo("Test.kt\$C\$private fun memberFun(): Int")
}
assertThat(Entity.atName(memberFunction).signature)
.isEqualTo("Test.kt\$C\$private fun memberFun(): Int")
}

@Test
fun `includes full function header and filename for a top level function`() {
val topLevelFunction = functions.first { it.name == "topLevelFun" }
@Test
fun `includes full function header and filename for a top level function`() {
val topLevelFunction = functions.first { it.name == "topLevelFun" }

assertThat(Entity.atName(topLevelFunction).signature)
.isEqualTo("Test.kt\$fun topLevelFun(number: Int)")
}
assertThat(Entity.atName(topLevelFunction).signature)
.isEqualTo("Test.kt\$fun topLevelFun(number: Int)")
}

@Test
fun `includes function name in entity compact`() {
val memberFunction = functions.first { it.name == "memberFun" }
@Test
fun `includes function name in entity compact`() {
val memberFunction = functions.first { it.name == "memberFun" }

assertThat(Entity.atName(memberFunction).compact())
.isEqualTo("[memberFun] at $path:5:17")
}
assertThat(Entity.atName(memberFunction).compact())
.isEqualTo("[memberFun] at $path:5:17")
}
}

@Nested
inner class `Classes` {
private val clazz = requireNotNull(code.findDescendantOfType<KtClass>())
@Nested
inner class `Classes` {
private val clazz = requireNotNull(code.findDescendantOfType<KtClass>())

@Test
fun `includes full class signature`() {
assertThat(Entity.atName(clazz).signature).isEqualTo("Test.kt\$C : Any")
}
@Test
fun `includes full class signature`() {
assertThat(Entity.atName(clazz).signature).isEqualTo("Test.kt\$C : Any")
}

@Test
fun `includes class name in entity compact`() {
assertThat(Entity.atName(clazz).compact()).isEqualTo("[C] at $path:3:7")
}
@Test
fun `includes class name in entity compact`() {
assertThat(Entity.atName(clazz).compact()).isEqualTo("[C] at $path:3:7")
}
}

@Nested
inner class `Files` {
@Nested
inner class `Files` {

@Test
fun `includes package and file name in entity signature`() {
assertThat(Entity.from(code).signature).isEqualTo("Test.kt\$test.Test.kt")
assertThat(Entity.atPackageOrFirstDecl(code).signature).isEqualTo("Test.kt\$test.Test.kt")
}
@Test
fun `includes package and file name in entity signature`() {
assertThat(Entity.from(code).signature).isEqualTo("Test.kt\$test.Test.kt")
assertThat(Entity.atPackageOrFirstDecl(code).signature).isEqualTo("Test.kt\$test.Test.kt")
}

@Test
fun `includes file name in entity compact`() {
val expectedResult = "[Test.kt] at $path:1:1"
@Test
fun `includes file name in entity compact`() {
val expectedResult = "[Test.kt] at $path:1:1"

assertThat(Entity.from(code).compact()).isEqualTo(expectedResult)
assertThat(Entity.atPackageOrFirstDecl(code).compact()).isEqualTo(expectedResult)
}
assertThat(Entity.from(code).compact()).isEqualTo(expectedResult)
assertThat(Entity.atPackageOrFirstDecl(code).compact()).isEqualTo(expectedResult)
}
}
}
Expand Up @@ -2,26 +2,21 @@ package io.gitlab.arturbosch.detekt.api

import org.assertj.core.api.Assertions.assertThat
import org.assertj.core.api.Assertions.assertThatIllegalStateException
import org.junit.jupiter.api.Nested
import org.junit.jupiter.api.Test

class MetricSpec {

@Nested
inner class `Metrics` {

@Test
fun `should convert double values to int`() {
val metric = Metric("LOC", 0.33, 0.10, 100)
assertThat(metric.doubleValue()).isEqualTo(0.33)
assertThat(metric.doubleThreshold()).isEqualTo(0.10)
}
@Test
fun `should convert double values to int`() {
val metric = Metric("LOC", 0.33, 0.10, 100)
assertThat(metric.doubleValue()).isEqualTo(0.33)
assertThat(metric.doubleThreshold()).isEqualTo(0.10)
}

@Test
fun `should throw error if double value is asked for int metric`() {
assertThatIllegalStateException().isThrownBy {
Metric("LOC", 100, 50).doubleValue()
}
@Test
fun `should throw error if double value is asked for int metric`() {
assertThatIllegalStateException().isThrownBy {
Metric("LOC", 100, 50).doubleValue()
}
}
}
Expand Up @@ -2,54 +2,49 @@ package io.gitlab.arturbosch.detekt.api

import org.assertj.core.api.Assertions.assertThat
import org.assertj.core.api.Assertions.assertThatCode
import org.junit.jupiter.api.Nested
import org.junit.jupiter.api.Test
import kotlin.random.Random

@OptIn(UnstableApi::class)
class PropertiesAwareSpec {

@Nested
inner class `Implementations can store and retrieve properties` {

private val hash = Random(1).nextInt()
private val store = object : PropertiesAware {
override val properties: MutableMap<String, Any> = HashMap()
override fun register(key: String, value: Any) {
properties[key] = value
}
}.apply {
register("bool", true)
register("string", "test")
register("number", 5)
register("set", setOf(1, 2, 3))
register(
"any",
object : Any() {
override fun equals(other: Any?): Boolean = hashCode() == other.hashCode()
override fun hashCode(): Int = hash
}
)
private val hash = Random(1).nextInt()
private val store = object : PropertiesAware {
override val properties: MutableMap<String, Any> = HashMap()
override fun register(key: String, value: Any) {
properties[key] = value
}
}.apply {
register("bool", true)
register("string", "test")
register("number", 5)
register("set", setOf(1, 2, 3))
register(
"any",
object : Any() {
override fun equals(other: Any?): Boolean = hashCode() == other.hashCode()
override fun hashCode(): Int = hash
}
)
}

@Test
fun `can retrieve the actual typed values`() {
assertThat(store.getOrNull<Boolean>("bool")).isEqualTo(true)
assertThat(store.getOrNull<String>("string")).isEqualTo("test")
assertThat(store.getOrNull<Int>("number")).isEqualTo(5)
assertThat(store.getOrNull<Set<Int>>("set")).isEqualTo(setOf(1, 2, 3))
assertThat(store.getOrNull<Any>("any").hashCode()).isEqualTo(hash)
}
@Test
fun `can retrieve the actual typed values`() {
assertThat(store.getOrNull<Boolean>("bool")).isEqualTo(true)
assertThat(store.getOrNull<String>("string")).isEqualTo("test")
assertThat(store.getOrNull<Int>("number")).isEqualTo(5)
assertThat(store.getOrNull<Set<Int>>("set")).isEqualTo(setOf(1, 2, 3))
assertThat(store.getOrNull<Any>("any").hashCode()).isEqualTo(hash)
}

@Test
fun `returns null on absent values`() {
assertThat(store.getOrNull<Boolean>("absent")).isEqualTo(null)
}
@Test
fun `returns null on absent values`() {
assertThat(store.getOrNull<Boolean>("absent")).isEqualTo(null)
}

@Test
fun `throws an error on wrong type`() {
assertThatCode { store.getOrNull<Double>("bool") }
.isInstanceOf(IllegalStateException::class.java)
}
@Test
fun `throws an error on wrong type`() {
assertThatCode { store.getOrNull<Double>("bool") }
.isInstanceOf(IllegalStateException::class.java)
}
}
Expand Up @@ -11,48 +11,45 @@ import org.junit.jupiter.api.Test
class RuleSetConfigPropertySpec {

@Nested
inner class `Rule set config property delegate` {
@Nested
inner class `boolean property` {
@Test
fun `reads the value in config if present`() {
assertThat(TestRuleSetProvider.android.value(TestConfig("android" to "false")))
.isEqualTo(false)
}
inner class `boolean property` {
@Test
fun `reads the value in config if present`() {
assertThat(TestRuleSetProvider.android.value(TestConfig("android" to "false")))
.isEqualTo(false)
}

@Test
fun `uses the default value in config if not present`() {
assertThat(TestRuleSetProvider.android.value(TestConfig()))
.isEqualTo(true)
}
@Test
fun `uses the default value in config if not present`() {
assertThat(TestRuleSetProvider.android.value(TestConfig()))
.isEqualTo(true)
}
}

@Nested
inner class `int property` {
@Test
fun `reads the value in config if present`() {
assertThat(TestRuleSetProvider.number.value(TestConfig("number" to "37"))).isEqualTo(37)
}
@Nested
inner class `int property` {
@Test
fun `reads the value in config if present`() {
assertThat(TestRuleSetProvider.number.value(TestConfig("number" to "37"))).isEqualTo(37)
}

@Test
fun `uses the default value in config if not present`() {
assertThat(TestRuleSetProvider.number.value(TestConfig())).isEqualTo(42)
}
@Test
fun `uses the default value in config if not present`() {
assertThat(TestRuleSetProvider.number.value(TestConfig())).isEqualTo(42)
}
}

@Nested
inner class `string property` {
@Test
fun `reads the value in config if present`() {
assertThat(TestRuleSetProvider.fileName.value(TestConfig("fileName" to "main.kt")))
.isEqualTo("main.kt")
}
@Nested
inner class `string property` {
@Test
fun `reads the value in config if present`() {
assertThat(TestRuleSetProvider.fileName.value(TestConfig("fileName" to "main.kt")))
.isEqualTo("main.kt")
}

@Test
fun `uses the default value in config if not present`() {
assertThat(TestRuleSetProvider.fileName.value(TestConfig()))
.isEqualTo("test.kt")
}
@Test
fun `uses the default value in config if not present`() {
assertThat(TestRuleSetProvider.fileName.value(TestConfig()))
.isEqualTo("test.kt")
}
}
}
Expand Down

0 comments on commit a2734b1

Please sign in to comment.