mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-17 11:24:56 -04:00
more name feature tests
This commit is contained in:
parent
3b418312d6
commit
82ee6b270c
@ -14,6 +14,7 @@
|
||||
package de.bixilon.minosoft.gui.rendering.entities.feature.text.name
|
||||
|
||||
import de.bixilon.kotlinglm.vec3.Vec3d
|
||||
import de.bixilon.kutil.cast.CastUtil.unsafeCast
|
||||
import de.bixilon.kutil.observer.DataObserver
|
||||
import de.bixilon.kutil.reflection.ReflectionUtil.forceSet
|
||||
import de.bixilon.minosoft.camera.target.targets.EntityTarget
|
||||
@ -22,9 +23,12 @@ import de.bixilon.minosoft.data.entities.entities.Entity
|
||||
import de.bixilon.minosoft.data.entities.entities.animal.Pig
|
||||
import de.bixilon.minosoft.data.entities.entities.player.RemotePlayerEntity
|
||||
import de.bixilon.minosoft.data.registries.entities.EntityFactory
|
||||
import de.bixilon.minosoft.data.text.TextComponent
|
||||
import de.bixilon.minosoft.gui.rendering.entities.EntityRendererTestUtil.create
|
||||
import de.bixilon.minosoft.gui.rendering.entities.feature.text.BillbaordTextTestUtil.assertEmpty
|
||||
import de.bixilon.minosoft.gui.rendering.entities.feature.text.BillbaordTextTestUtil.assertText
|
||||
import org.testng.Assert.assertNotEquals
|
||||
import org.testng.Assert.assertSame
|
||||
import org.testng.annotations.Test
|
||||
|
||||
@Test(groups = ["entities", "rendering"])
|
||||
@ -39,7 +43,7 @@ class EntityNameFeatureTest {
|
||||
}
|
||||
|
||||
private fun EntityNameFeature.customName(name: Any?) {
|
||||
renderer.entity.data[Entity.CUSTOM_NAME_VISIBLE_DATA] = name
|
||||
renderer.entity.data[Entity.CUSTOM_NAME_DATA] = name
|
||||
}
|
||||
|
||||
private fun EntityNameFeature.isNameVisible(visible: Boolean) {
|
||||
@ -58,7 +62,7 @@ class EntityNameFeatureTest {
|
||||
|
||||
private fun EntityNameFeature.setTargeted(target: Boolean = true, distance: Double = 1.0) {
|
||||
val target = if (target) EntityTarget(Vec3d(0, 0, 0), distance, Directions.DOWN, renderer.entity) else null
|
||||
renderer.renderer.connection.camera.target::target.forceSet(DataObserver(target)))
|
||||
renderer.renderer.connection.camera.target::target.forceSet(DataObserver(target))
|
||||
}
|
||||
|
||||
private fun EntityNameFeature.updateName() {
|
||||
@ -74,39 +78,64 @@ class EntityNameFeatureTest {
|
||||
|
||||
fun `animal with custom name set`() {
|
||||
val name = create(Pig)
|
||||
name.updateName()
|
||||
name.customName("Pepper")
|
||||
name.updateName()
|
||||
name.assertEmpty()
|
||||
}
|
||||
|
||||
fun `correct animal name`() {
|
||||
val name = create(Pig)
|
||||
val text = TextComponent("Pepper:")
|
||||
name.customName(text)
|
||||
name.updateName()
|
||||
assertSame(name.text, text) // TODO: verify visibility
|
||||
}
|
||||
|
||||
fun `animal with custom name visible`() {
|
||||
val name = create(Pig)
|
||||
name.updateName()
|
||||
name.customName("Pepper")
|
||||
name.isNameVisible(true)
|
||||
name.updateName()
|
||||
name.assertText() // TODO: verify
|
||||
}
|
||||
|
||||
fun `targeted animal without custom name visible`() {
|
||||
val name = create(Pig)
|
||||
name.updateName()
|
||||
name.customName("Pepper")
|
||||
name.setTargeted()
|
||||
name.updateName()
|
||||
name.assertText() // TODO: verify
|
||||
}
|
||||
|
||||
fun `targeted but oor animal without custom name visible`() {
|
||||
val name = create(Pig)
|
||||
name.updateName()
|
||||
name.customName("Pepper")
|
||||
name.setTargeted(distance = 10.0)
|
||||
name.updateName()
|
||||
name.assertText() // TODO: verify
|
||||
}
|
||||
|
||||
fun `remote player entity`() {
|
||||
val name = create(RemotePlayerEntity)
|
||||
name.updateName()
|
||||
name.assertEmpty()
|
||||
name.assertText()
|
||||
}
|
||||
|
||||
fun `remote player not using custom name`() {
|
||||
val name = create(RemotePlayerEntity)
|
||||
val text = TextComponent("Me")
|
||||
name.customName(text)
|
||||
name.updateName()
|
||||
assertNotEquals(name.text, text)
|
||||
}
|
||||
|
||||
fun `remote player using tab name`() {
|
||||
val name = create(RemotePlayerEntity)
|
||||
val additional = name.renderer.entity.unsafeCast<RemotePlayerEntity>().additional
|
||||
val text = TextComponent("Me")
|
||||
additional.displayName = text
|
||||
name.updateName()
|
||||
assertSame(name.text, text)
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user