From 62e397f9f4eb13b8a073c8b4e6f9a55fa06d6fcd Mon Sep 17 00:00:00 2001 From: Amitai Schleier Date: Fri, 28 Jun 2024 11:23:23 -0400 Subject: [PATCH] Compare JUnit5Summary objects for equality. --- .../kotlin/com/schmonz/greencently/Greenness.kt | 8 +------- .../schmonz/greencently/summary/JUnit5Summary.kt | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/src/main/kotlin/com/schmonz/greencently/Greenness.kt b/src/main/kotlin/com/schmonz/greencently/Greenness.kt index 495c7a2..f47bd97 100644 --- a/src/main/kotlin/com/schmonz/greencently/Greenness.kt +++ b/src/main/kotlin/com/schmonz/greencently/Greenness.kt @@ -3,12 +3,6 @@ package com.schmonz.greencently import com.schmonz.greencently.summary.JUnit5Summary class Greenness(private val actuallyRan: JUnit5Summary, private val couldHaveRun: JUnit5Summary) { - private fun enoughTestsRan() = - actuallyRan.testCount == couldHaveRun.testCount - - private fun allTestsGreen() = - actuallyRan.anyTestsGreen && !actuallyRan.anyTestsRed - fun isTotal() = - enoughTestsRan() && allTestsGreen() + actuallyRan == couldHaveRun } diff --git a/src/main/kotlin/com/schmonz/greencently/summary/JUnit5Summary.kt b/src/main/kotlin/com/schmonz/greencently/summary/JUnit5Summary.kt index a28e66a..f77d093 100644 --- a/src/main/kotlin/com/schmonz/greencently/summary/JUnit5Summary.kt +++ b/src/main/kotlin/com/schmonz/greencently/summary/JUnit5Summary.kt @@ -13,4 +13,19 @@ class JUnit5Summary(testPlan: TestPlan, internal val anyTestsRed: Boolean, inter ) } } + + override fun equals(other: Any?): Boolean { + if (this === other) return true + if (other !is JUnit5Summary) return false + if (testCount == other.testCount && anyTestsRed == other.anyTestsRed && anyTestsGreen == other.anyTestsGreen) + return true + return false + } + + override fun hashCode(): Int { + var result = anyTestsRed.hashCode() + result = 31 * result + anyTestsGreen.hashCode() + result = 31 * result + testCount.hashCode() + return result + } }