X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Ffreenet%2Fwot%2FIdentityChangeEventSenderTest.kt;h=31c96d97d20ae1f381d672aff760753949155041;hb=23e09dfc13a0cc6dfc7d7b8cc09c78acc6984ec7;hp=5a4e8535360953fae4dd62462a86da48cc5158e4;hpb=6a5b585e731597b33beed8f58a0e79b9f0c37f96;p=Sone.git diff --git a/src/test/kotlin/net/pterodactylus/sone/freenet/wot/IdentityChangeEventSenderTest.kt b/src/test/kotlin/net/pterodactylus/sone/freenet/wot/IdentityChangeEventSenderTest.kt index 5a4e853..31c96d9 100644 --- a/src/test/kotlin/net/pterodactylus/sone/freenet/wot/IdentityChangeEventSenderTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/freenet/wot/IdentityChangeEventSenderTest.kt @@ -1,5 +1,5 @@ /* - * Sone - IdentityChangeEventSenderTest.java - Copyright © 2013–2019 David Roden + * Sone - IdentityChangeEventSenderTest.kt - Copyright © 2013–2020 David Roden * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -17,45 +17,89 @@ package net.pterodactylus.sone.freenet.wot -import com.google.common.eventbus.* -import net.pterodactylus.sone.freenet.wot.event.* -import net.pterodactylus.sone.test.* -import org.junit.* -import org.mockito.ArgumentMatchers.eq -import org.mockito.Mockito.verify +import com.google.common.eventbus.EventBus +import com.google.common.eventbus.Subscribe +import net.pterodactylus.sone.freenet.wot.event.IdentityAddedEvent +import net.pterodactylus.sone.freenet.wot.event.IdentityRemovedEvent +import net.pterodactylus.sone.freenet.wot.event.IdentityUpdatedEvent +import net.pterodactylus.sone.freenet.wot.event.OwnIdentityAddedEvent +import net.pterodactylus.sone.freenet.wot.event.OwnIdentityRemovedEvent +import org.hamcrest.MatcherAssert.assertThat +import org.hamcrest.Matchers.contains +import org.hamcrest.Matchers.containsInAnyOrder +import org.junit.Test /** * Unit test for [IdentityChangeEventSender]. */ class IdentityChangeEventSenderTest { - private val eventBus = mock() + private val eventBus = EventBus() private val ownIdentities = listOf( - createOwnIdentity("O1", listOf("Test"), "KeyA" to "ValueA"), - createOwnIdentity("O2", listOf("Test2"), "KeyB" to "ValueB"), - createOwnIdentity("O3", listOf("Test3"), "KeyC" to "ValueC") + createOwnIdentity("O1", setOf("Test"), "KeyA" to "ValueA"), + createOwnIdentity("O2", setOf("Test2"), "KeyB" to "ValueB"), + createOwnIdentity("O3", setOf("Test3"), "KeyC" to "ValueC") ) private val identities = listOf( - createIdentity("I1", listOf()), - createIdentity("I2", listOf()), - createIdentity("I3", listOf()), - createIdentity("I2", listOf("Test")) + createIdentity("I1", setOf()), + createIdentity("I2", setOf()), + createIdentity("I3", setOf()), + createIdentity("I2", setOf("Test")) ) private val identityChangeEventSender = IdentityChangeEventSender(eventBus, createOldIdentities()) @Test fun addingAnOwnIdentityIsDetectedAndReportedCorrectly() { val newIdentities = createNewIdentities() + val ownIdentityRemovedEvents = mutableListOf() + eventBus.register(object { + @Subscribe + fun ownIdentityRemoved(ownIdentityRemovedEvent: OwnIdentityRemovedEvent) { + ownIdentityRemovedEvents += ownIdentityRemovedEvent + } + }) + val identityRemovedEvents = mutableListOf() + eventBus.register(object { + @Subscribe + fun identityRemovedEvent(identityRemovedEvent: IdentityRemovedEvent) { + identityRemovedEvents += identityRemovedEvent + } + }) + val owIdentityAddedEvents = mutableListOf() + eventBus.register(object { + @Subscribe + fun ownIdentityAdded(ownIdentityAddedEvent: OwnIdentityAddedEvent) { + owIdentityAddedEvents += ownIdentityAddedEvent + } + }) + val identityAddedEvents = mutableListOf() + eventBus.register(object { + @Subscribe + fun identityAdded(identityAddedEvent: IdentityAddedEvent) { + identityAddedEvents += identityAddedEvent + } + }) + val identityUpdatedEvents = mutableListOf() + eventBus.register(object { + @Subscribe + fun identityUpdatedEvent(identityUpdatedEvent: IdentityUpdatedEvent) { + identityUpdatedEvents += identityUpdatedEvent + } + }) identityChangeEventSender.detectChanges(newIdentities) - verify(eventBus).post(eq(OwnIdentityRemovedEvent(ownIdentities[0]))) - verify(eventBus).post(eq(IdentityRemovedEvent(ownIdentities[0], identities[0]))) - verify(eventBus).post(eq(IdentityRemovedEvent(ownIdentities[0], identities[1]))) - verify(eventBus).post(eq(OwnIdentityAddedEvent(ownIdentities[2]))) - verify(eventBus).post(eq(IdentityAddedEvent(ownIdentities[2], identities[1]))) - verify(eventBus).post(eq(IdentityAddedEvent(ownIdentities[2], identities[2]))) - verify(eventBus).post(eq(IdentityRemovedEvent(ownIdentities[1], identities[0]))) - verify(eventBus).post(eq(IdentityAddedEvent(ownIdentities[1], identities[2]))) - verify(eventBus).post(eq(IdentityUpdatedEvent(ownIdentities[1], identities[1]))) + assertThat(ownIdentityRemovedEvents, contains(OwnIdentityRemovedEvent(ownIdentities[0]))) + assertThat(identityRemovedEvents, containsInAnyOrder( + IdentityRemovedEvent(ownIdentities[0], identities[0]), + IdentityRemovedEvent(ownIdentities[0], identities[1]), + IdentityRemovedEvent(ownIdentities[1], identities[0]) + )) + assertThat(owIdentityAddedEvents, contains(OwnIdentityAddedEvent(ownIdentities[2]))) + assertThat(identityAddedEvents, containsInAnyOrder( + IdentityAddedEvent(ownIdentities[2], identities[1]), + IdentityAddedEvent(ownIdentities[2], identities[2]), + IdentityAddedEvent(ownIdentities[1], identities[2]) + )) + assertThat(identityUpdatedEvents, contains(IdentityUpdatedEvent(ownIdentities[1], identities[1]))) } private fun createNewIdentities() = mapOf(