/* * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ package test.enums import kotlin.enums.enumEntries import kotlin.test.* import test.collections.behaviors.listBehavior import test.collections.compare import kotlin.enums.EnumEntries class EnumEntriesFactoryTest { enum class EmptyEnum enum class NonEmptyEnum { A, B, C } @Test fun testEquality() { assertEquals(EmptyEnum.entries, enumEntries()) assertEquals(NonEmptyEnum.entries, enumEntries()) } @Test fun testByCallableReference() { val empty: () -> EnumEntries = ::enumEntries assertEquals(EmptyEnum.entries, empty()) val nonEmpty: () -> EnumEntries = ::enumEntries assertEquals(NonEmptyEnum.entries, nonEmpty()) } @Test @Suppress("EnumValuesSoftDeprecate") // For test to avoid comparing entries with entries fun testSanity() { compare(EnumEntriesListTest.EmptyEnum.values().toList(), enumEntries()) { listBehavior() } compare(EnumEntriesListTest.NonEmptyEnum.values().toList(), enumEntries()) { listBehavior() } } }