diff --git a/.gitignore b/.gitignore index 0bf4c7a0..5060c502 100644 --- a/.gitignore +++ b/.gitignore @@ -1,14 +1,15 @@ # IDEA *.iml /.idea/ +!/.idea/codeStyles/ +!/.idea/codeStyles/* # Gradle .gradle/ build/ /reports/ -# Gradle Androide - +# Gradle Android /local.properties /captures diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml new file mode 100644 index 00000000..0cb94a0c --- /dev/null +++ b/.idea/codeStyles/Project.xml @@ -0,0 +1,452 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml new file mode 100644 index 00000000..79ee123c --- /dev/null +++ b/.idea/codeStyles/codeStyleConfig.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/detekt-config.yml b/detekt-config.yml index 2fb3a56d..a26b2e35 100644 --- a/detekt-config.yml +++ b/detekt-config.yml @@ -92,11 +92,10 @@ formatting: active: true CommentSpacing: active: true - # TODO: Enable after https://youtrack.jetbrains.com/issue/KT-10974 - # ImportOrdering: - # active: true - Indentation: + ImportOrdering: active: true + Indentation: + active: false # TODO: https://github.com/pinterest/ktlint/issues/854 indentSize: 2 continuationIndentSize: 4 NoBlankLineBeforeRbrace: @@ -226,7 +225,7 @@ style: maxJumpCount: 1 MaxLineLength: active: true - maxLineLength: 100 + maxLineLength: 120 excludePackageStatements: true excludeImportStatements: true excludeCommentStatements: true @@ -247,7 +246,7 @@ style: ProtectedMemberInFinalClass: active: true RedundantVisibilityModifierRule: - active: true + active: false SafeCast: active: true SerialVersionUIDInSerializableClass: @@ -281,8 +280,6 @@ style: active: true UseCheckOrError: active: true - UseIfInsteadOfWhen: - active: true UseRequire: active: true UselessCallOnNotNull: diff --git a/library/ruler/src/test/java/io/mehow/ruler/DistanceSpec.kt b/library/ruler/src/test/java/io/mehow/ruler/DistanceSpec.kt index 843f3e1a..00b0fd39 100644 --- a/library/ruler/src/test/java/io/mehow/ruler/DistanceSpec.kt +++ b/library/ruler/src/test/java/io/mehow/ruler/DistanceSpec.kt @@ -150,10 +150,10 @@ class DistanceSpec : BehaviorSpec({ Then("they can be compared to each other") { checkAll( - Arb.long(MIN_VALUE, MAX_VALUE), - Arb.long(0L, 999_999_999), - Arb.long(MIN_VALUE, MAX_VALUE), - Arb.long(0L, 999_999_999) + Arb.long(MIN_VALUE, MAX_VALUE), + Arb.long(0L, 999_999_999), + Arb.long(MIN_VALUE, MAX_VALUE), + Arb.long(0L, 999_999_999) ) { meter1, nano1, meter2, nano2 -> val distance1 = Distance.create(meter1, nano1) val distance2 = Distance.create(meter2, nano2) @@ -172,8 +172,8 @@ class DistanceSpec : BehaviorSpec({ When("I multiply it by a natural number") { Then("the result is correct") { checkAll( - DistanceGenerator(Distance.ofKilometers(-1_000), Distance.ofKilometers(1_000)), - Arb.long(0, 500_000) + DistanceGenerator(Distance.ofKilometers(-1_000), Distance.ofKilometers(1_000)), + Arb.long(0, 500_000) ) { distance, multiplicand -> val meters = distance.exactTotalMeters * multiplicand.toBigDecimal() val storedMeters = meters.toBigInteger().longValueExact() @@ -190,8 +190,8 @@ class DistanceSpec : BehaviorSpec({ When("I multiply it by a real number") { Then("the result is correct") { checkAll( - DistanceGenerator(Distance.ofKilometers(-1_000), Distance.ofKilometers(1_000)), - Arb.numericDoubles(0.0, 500_000.0) + DistanceGenerator(Distance.ofKilometers(-1_000), Distance.ofKilometers(1_000)), + Arb.numericDoubles(0.0, 500_000.0) ) { distance, multiplicand -> val meters = distance.exactTotalMeters * multiplicand.toBigDecimal() val nanos = meters.movePointRight(9).toBigInteger() @@ -209,8 +209,8 @@ class DistanceSpec : BehaviorSpec({ When("I divide it by a natural number") { Then("the result is correct") { checkAll( - DistanceGenerator(Distance.ofKilometers(-1_000), Distance.ofKilometers(1_000)), - Arb.long(1, 500_000) + DistanceGenerator(Distance.ofKilometers(-1_000), Distance.ofKilometers(1_000)), + Arb.long(1, 500_000) ) { distance, divisor -> val meters = distance.exactTotalMeters.divide(divisor.toBigDecimal(), DOWN) val nanos = meters.movePointRight(9).toBigIntegerExact() @@ -228,8 +228,8 @@ class DistanceSpec : BehaviorSpec({ When("I divide it by a real number") { Then("the result is correct") { checkAll( - DistanceGenerator(Distance.ofKilometers(-1_000), Distance.ofKilometers(1_000)), - Arb.numericDoubles(0.000_001, 500_000.0) + DistanceGenerator(Distance.ofKilometers(-1_000), Distance.ofKilometers(1_000)), + Arb.numericDoubles(0.000_001, 500_000.0) ) { distance, divisor -> val meters = distance.exactTotalMeters.divide(divisor.toBigDecimal(), DOWN) val nanos = meters.movePointRight(9).toBigInteger() diff --git a/library/ruler/src/test/java/io/mehow/ruler/ImperialLengthUnitSpec.kt b/library/ruler/src/test/java/io/mehow/ruler/ImperialLengthUnitSpec.kt index f4174ace..23df0772 100644 --- a/library/ruler/src/test/java/io/mehow/ruler/ImperialLengthUnitSpec.kt +++ b/library/ruler/src/test/java/io/mehow/ruler/ImperialLengthUnitSpec.kt @@ -14,14 +14,14 @@ class ImperialLengthUnitSpec : BehaviorSpec({ Then("distance can be created from it") { listOf( - 0L to Distance.zero, - 1L to Distance.create(meters = 0, nanometers = 25_400_000), - 7L to Distance.create(meters = 0, nanometers = 177_800_000), - 25L to Distance.create(meters = 0, nanometers = 635_000_000), - 133L to Distance.create(meters = 3, nanometers = 378_200_000), - 1_680L to Distance.create(meters = 42, nanometers = 672_000_000), - 131_296L to Distance.create(meters = 3_334, nanometers = 918_400_000), - MAX_VALUE to Distance.create(meters = 234_273_649_736_111_305, nanometers = 497_800_000) + 0L to Distance.zero, + 1L to Distance.create(meters = 0, nanometers = 25_400_000), + 7L to Distance.create(meters = 0, nanometers = 177_800_000), + 25L to Distance.create(meters = 0, nanometers = 635_000_000), + 133L to Distance.create(meters = 3, nanometers = 378_200_000), + 1_680L to Distance.create(meters = 42, nanometers = 672_000_000), + 131_296L to Distance.create(meters = 3_334, nanometers = 918_400_000), + MAX_VALUE to Distance.create(meters = 234_273_649_736_111_305, nanometers = 497_800_000) ).forEach { (inches, expected) -> unit.toDistance(inches) shouldBe expected Distance.ofInches(inches) shouldBe expected @@ -37,14 +37,14 @@ class ImperialLengthUnitSpec : BehaviorSpec({ Then("distance can be created from it") { listOf( - 0L to Distance.zero, - 1L to Distance.ofNanometers(304_800_000), - 7L to Distance.create(meters = 2, nanometers = 133_600_000), - 25L to Distance.create(meters = 7, nanometers = 620_000_000), - 133L to Distance.create(meters = 40, nanometers = 538_400_000), - 1_680L to Distance.create(meters = 512, nanometers = 64_000_000), - 131_296L to Distance.create(meters = 40_019, nanometers = 20_800_000), - MAX_VALUE to Distance.create(meters = 2_811_283_796_833_335_665, nanometers = 973_600_000) + 0L to Distance.zero, + 1L to Distance.ofNanometers(304_800_000), + 7L to Distance.create(meters = 2, nanometers = 133_600_000), + 25L to Distance.create(meters = 7, nanometers = 620_000_000), + 133L to Distance.create(meters = 40, nanometers = 538_400_000), + 1_680L to Distance.create(meters = 512, nanometers = 64_000_000), + 131_296L to Distance.create(meters = 40_019, nanometers = 20_800_000), + MAX_VALUE to Distance.create(meters = 2_811_283_796_833_335_665, nanometers = 973_600_000) ).forEach { (feet, expected) -> unit.toDistance(feet) shouldBe expected Distance.ofFeet(feet) shouldBe expected @@ -60,14 +60,14 @@ class ImperialLengthUnitSpec : BehaviorSpec({ Then("distance can be created from it") { listOf( - 0L to Distance.zero, - 1L to Distance.ofNanometers(914_400_000), - 7L to Distance.create(meters = 6, nanometers = 400_800_000), - 25L to Distance.create(meters = 22, nanometers = 860_000_000), - 133L to Distance.create(meters = 121, nanometers = 615_200_000), - 1_680L to Distance.create(meters = 1_536, nanometers = 192_000_000), - 131_296L to Distance.create(meters = 120_057, nanometers = 62_400_000), - MAX_VALUE to Distance.create(meters = 8_433_851_390_500_006_997, nanometers = 920_800_000) + 0L to Distance.zero, + 1L to Distance.ofNanometers(914_400_000), + 7L to Distance.create(meters = 6, nanometers = 400_800_000), + 25L to Distance.create(meters = 22, nanometers = 860_000_000), + 133L to Distance.create(meters = 121, nanometers = 615_200_000), + 1_680L to Distance.create(meters = 1_536, nanometers = 192_000_000), + 131_296L to Distance.create(meters = 120_057, nanometers = 62_400_000), + MAX_VALUE to Distance.create(meters = 8_433_851_390_500_006_997, nanometers = 920_800_000) ).forEach { (yards, expected) -> unit.toDistance(yards) shouldBe expected Distance.ofYards(yards) shouldBe expected @@ -84,13 +84,13 @@ class ImperialLengthUnitSpec : BehaviorSpec({ When("value does not overflow") { Then("distance can be created from it") { listOf( - 0L to Distance.zero, - 1L to Distance.create(meters = 1_609, nanometers = 344_000_000), - 7L to Distance.create(meters = 11_265, nanometers = 408_000_000), - 25L to Distance.create(meters = 40_233, nanometers = 600_000_000), - 133L to Distance.create(meters = 214_042, nanometers = 752_000_000), - 1_680L to Distance.create(meters = 2_703_697, nanometers = 920_000_000), - 131_296L to Distance.create(meters = 211_300_429, nanometers = 824_000_000) + 0L to Distance.zero, + 1L to Distance.create(meters = 1_609, nanometers = 344_000_000), + 7L to Distance.create(meters = 11_265, nanometers = 408_000_000), + 25L to Distance.create(meters = 40_233, nanometers = 600_000_000), + 133L to Distance.create(meters = 214_042, nanometers = 752_000_000), + 1_680L to Distance.create(meters = 2_703_697, nanometers = 920_000_000), + 131_296L to Distance.create(meters = 211_300_429, nanometers = 824_000_000) ).forEach { (miles, expected) -> unit.toDistance(miles) shouldBe expected Distance.ofMiles(miles) shouldBe expected diff --git a/library/ruler/src/test/java/io/mehow/ruler/LengthSpec.kt b/library/ruler/src/test/java/io/mehow/ruler/LengthSpec.kt index 0dc4cddf..58d6e4bb 100644 --- a/library/ruler/src/test/java/io/mehow/ruler/LengthSpec.kt +++ b/library/ruler/src/test/java/io/mehow/ruler/LengthSpec.kt @@ -26,16 +26,16 @@ class LengthSpec : BehaviorSpec({ When("they are added") { Then("unit of the left operand is preserved") { checkAll( - DistanceGenerator( - min = Distance.create(MIN_VALUE / 2 + 1, 500_000_000), - max = Distance.create(MAX_VALUE / 2 - 1, 500_000_000) - ), - DistanceUnitGenerator, - DistanceGenerator( - min = Distance.create(MIN_VALUE / 2 + 1, 500_000_000), - max = Distance.create(MAX_VALUE / 2 - 1, 500_000_000) - ), - DistanceUnitGenerator + DistanceGenerator( + min = Distance.create(MIN_VALUE / 2 + 1, 500_000_000), + max = Distance.create(MAX_VALUE / 2 - 1, 500_000_000) + ), + DistanceUnitGenerator, + DistanceGenerator( + min = Distance.create(MIN_VALUE / 2 + 1, 500_000_000), + max = Distance.create(MAX_VALUE / 2 - 1, 500_000_000) + ), + DistanceUnitGenerator ) { distance1, unit1, distance2, unit2 -> val length1 = DistanceUnitGenerator.createLength(distance1, unit1) val length2 = DistanceUnitGenerator.createLength(distance2, unit2) @@ -50,16 +50,16 @@ class LengthSpec : BehaviorSpec({ When("they are subtracted") { Then("unit of the left operand is preserved") { checkAll( - DistanceGenerator( - min = Distance.ofMeters(MIN_VALUE / 2 + 1), - max = Distance.ofMeters(MAX_VALUE / 2 - 1) - ), - DistanceUnitGenerator, - DistanceGenerator( - min = Distance.ofMeters(MIN_VALUE / 2 + 1), - max = Distance.ofMeters(MAX_VALUE / 2 - 1) - ), - DistanceUnitGenerator + DistanceGenerator( + min = Distance.ofMeters(MIN_VALUE / 2 + 1), + max = Distance.ofMeters(MAX_VALUE / 2 - 1) + ), + DistanceUnitGenerator, + DistanceGenerator( + min = Distance.ofMeters(MIN_VALUE / 2 + 1), + max = Distance.ofMeters(MAX_VALUE / 2 - 1) + ), + DistanceUnitGenerator ) { distance1, unit1, distance2, unit2 -> val length1 = DistanceUnitGenerator.createLength(distance1, unit1) val length2 = DistanceUnitGenerator.createLength(distance2, unit2) @@ -182,7 +182,7 @@ private fun BehaviorSpec.checkImperialUnit( When("I auto unit it") { Then("it uses $unit as a unit") { checkAll( - DistanceGenerator(Distance.of(1, unit), Distance.of(maxRange, unit)) + DistanceGenerator(Distance.of(1, unit), Distance.of(maxRange, unit)) ) { distance -> val length = distance.toLength(ImperialLengthUnit.values().random()).withAutoUnit() @@ -190,7 +190,7 @@ private fun BehaviorSpec.checkImperialUnit( } checkAll( - DistanceGenerator(Distance.of(-maxRange, unit), Distance.of(-1, unit)) + DistanceGenerator(Distance.of(-maxRange, unit), Distance.of(-1, unit)) ) { distance -> val length = distance.toLength(ImperialLengthUnit.values().random()).withAutoUnit()