File tree Expand file tree Collapse file tree
src/com/mineinabyss/geary/observers
test@jvm/com/mineinabyss/geary/observers Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -13,7 +13,7 @@ data class Observer(
1313 val listenToEvents : EntityType ,
1414 val mustHoldData : Boolean ,
1515 val handle : ObserverHandle ,
16- val onClose : (Observer ) -> Unit ,
16+ internal val onClose : (Observer ) -> Unit ,
1717) : AutoCloseable {
1818 var closed = false
1919 private set
Original file line number Diff line number Diff line change @@ -10,6 +10,7 @@ import com.mineinabyss.geary.systems.query.QueryShorthands
1010import com.mineinabyss.geary.systems.query.ShorthandQuery
1111
1212data class ObserverWithoutData (
13+ @PublishedApi
1314 override val listenToEvents : List <ComponentId >,
1415 override val world : Geary ,
1516 override val onBuild : (Observer ) -> Unit ,
@@ -50,13 +51,13 @@ data class ObserverWithData<R>(
5051}
5152
5253abstract class ObserverEventsBuilder <Context > : ExecutableObserver <Context > {
53- abstract val world: Geary
54- abstract val listenToEvents: List <ComponentId >
55- abstract val mustHoldData: Boolean
56- abstract val onBuild: (Observer ) -> Unit
57- abstract val onClose: (Observer ) -> Unit
58-
59- val comp: ComponentProvider get() = world.componentProvider
54+ internal abstract val world: Geary
55+ internal abstract val listenToEvents: List <ComponentId >
56+ internal abstract val mustHoldData: Boolean
57+ internal abstract val onBuild: (Observer ) -> Unit
58+ internal abstract val onClose: (Observer ) -> Unit
59+ @PublishedApi
60+ internal val comp: ComponentProvider get() = world.componentProvider
6061
6162 abstract fun provideContext (entity : EntityId , data : Any? ): Context
6263
Original file line number Diff line number Diff line change @@ -11,21 +11,22 @@ import kotlin.test.Test
1111class RemoveObserverTest : GearyTest () {
1212 @Test
1313 fun `should stop observing events after removed` () {
14+ // arrange
1415 val called = mutableListOf<Int >()
1516 val observer = observe<OnSet >().exec(query<Int >()) { (data) ->
1617 called + = data
1718 }
1819
20+ // act
1921 val entity = entity {
2022 set(1 )
2123 set(2 )
2224 }
23-
24-
25- eventRunner.removeObserver(observer)
26-
25+ observer.close()
2726 entity.set(3 )
2827
28+ // assert
29+
2930 called shouldBe listOf (1 , 2 )
3031 }
3132}
You can’t perform that action at this time.
0 commit comments