it: test pixlyzer data for all releases

This commit is contained in:
Bixilon 2022-11-22 16:42:40 +01:00
parent 0f876124d7
commit c1aa35a01d
No known key found for this signature in database
GPG Key ID: 5CAD791931B09AC4
10 changed files with 165 additions and 25 deletions

View File

@ -15,11 +15,11 @@ package de.bixilon.minosoft
import de.bixilon.kutil.latch.CountUpAndDownLatch
import de.bixilon.minosoft.assets.properties.version.AssetsVersionProperties
import de.bixilon.minosoft.config.profile.profiles.resources.ResourcesProfile
import de.bixilon.minosoft.config.profile.profiles.resources.ResourcesProfileManager
import de.bixilon.minosoft.data.registries.DefaultRegistries
import de.bixilon.minosoft.data.registries.versions.Versions
import de.bixilon.minosoft.protocol.packets.factory.PacketTypeRegistry
import de.bixilon.minosoft.test.IT
import de.bixilon.minosoft.test.ITUtil
import de.bixilon.minosoft.util.logging.Log
import de.bixilon.minosoft.util.logging.LogLevels
import de.bixilon.minosoft.util.logging.LogMessageType
@ -74,17 +74,7 @@ internal object MinosoftSIT {
DefaultRegistries.load(CountUpAndDownLatch(0))
}
private fun createResourcesProfile(): ResourcesProfile {
ResourcesProfileManager.currentLoadingPath = "dummy"
val profile = ResourcesProfile()
ResourcesProfileManager.currentLoadingPath = null
return profile
}
fun loadPixlyzerData() {
val version = Versions[IT.VERSION_NAME]!!
IT.VERSION = version
version.load(createResourcesProfile(), CountUpAndDownLatch(0))
IT.VERSION = ITUtil.loadPixlyzerData(IT.TEST_VERSION_NAME)
}
}

View File

@ -13,8 +13,6 @@
package de.bixilon.minosoft.data.container
import de.bixilon.minosoft.IT
import de.bixilon.minosoft.IT.reference
import de.bixilon.minosoft.data.container.types.generic.Generic9x3Container
import de.bixilon.minosoft.data.container.types.processing.smelting.FurnaceContainer
import de.bixilon.minosoft.data.registries.ResourceLocation
@ -23,6 +21,8 @@ import de.bixilon.minosoft.data.registries.other.containers.ContainerType
import de.bixilon.minosoft.data.text.ChatComponent
import de.bixilon.minosoft.protocol.network.connection.play.ConnectionTestUtil.createConnection
import de.bixilon.minosoft.protocol.network.connection.play.PlayConnection
import de.bixilon.minosoft.test.IT
import de.bixilon.minosoft.test.IT.reference
import de.bixilon.minosoft.util.KUtil.minosoft

View File

@ -15,11 +15,11 @@ package de.bixilon.minosoft.data.registries.blocks
import de.bixilon.kutil.cast.CastUtil.unsafeCast
import de.bixilon.kutil.cast.CastUtil.unsafeNull
import de.bixilon.minosoft.IT
import de.bixilon.minosoft.IT.reference
import de.bixilon.minosoft.data.direction.Directions
import de.bixilon.minosoft.data.registries.ResourceLocation
import de.bixilon.minosoft.data.registries.blocks.types.Block
import de.bixilon.minosoft.test.IT
import de.bixilon.minosoft.test.IT.reference
import org.testng.Assert
import org.testng.Assert.assertEquals

View File

@ -15,10 +15,10 @@ package de.bixilon.minosoft.data.registries.items
import de.bixilon.kutil.cast.CastUtil.unsafeCast
import de.bixilon.kutil.cast.CastUtil.unsafeNull
import de.bixilon.minosoft.IT
import de.bixilon.minosoft.IT.reference
import de.bixilon.minosoft.data.registries.ResourceLocation
import de.bixilon.minosoft.data.registries.item.items.Item
import de.bixilon.minosoft.test.IT
import de.bixilon.minosoft.test.IT.reference
import org.testng.Assert
import org.testng.Assert.assertEquals

View File

@ -0,0 +1,108 @@
/*
* Minosoft
* Copyright (C) 2020-2022 Moritz Zwerger
*
* 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 the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
*/
package de.bixilon.minosoft.data.registries.versions
import de.bixilon.minosoft.data.entities.entities.monster.Zombie
import de.bixilon.minosoft.data.registries.blocks.MinecraftBlocks
import de.bixilon.minosoft.data.registries.item.MinecraftItems
import de.bixilon.minosoft.test.ITUtil
import org.testng.Assert
import org.testng.annotations.Test
@Test
class PixLyzerLoadingTest {
private fun Version.test() {
val registries = this.registries
Assert.assertNotNull(this.registries)
registries!!
Assert.assertNotNull(registries.blockRegistry[MinecraftBlocks.DIRT])
Assert.assertNotNull(registries.itemRegistry[MinecraftItems.COAL])
Assert.assertNotNull(registries.entityTypeRegistry[Zombie])
}
fun `1_14_4`() {
ITUtil.loadPixlyzerData("1.14.4").test()
}
@Test
fun `1_15`() {
ITUtil.loadPixlyzerData("1.15").test()
}
@Test
fun `1_15_1`() {
ITUtil.loadPixlyzerData("1.15.1").test()
}
@Test
fun `1_15_2`() {
ITUtil.loadPixlyzerData("1.15.2").test()
}
@Test
fun `1_16`() {
ITUtil.loadPixlyzerData("1.16").test()
}
@Test
fun `1_16_1`() {
ITUtil.loadPixlyzerData("1.16.1").test()
}
@Test
fun `1_16_2`() {
ITUtil.loadPixlyzerData("1.16.2").test()
}
@Test
fun `1_16_3`() {
ITUtil.loadPixlyzerData("1.16.3").test()
}
@Test
fun `1_16_5`() {
ITUtil.loadPixlyzerData("1.16.5").test()
}
@Test
fun `1_17`() {
ITUtil.loadPixlyzerData("1.17").test()
}
@Test
fun `1_17_1`() {
ITUtil.loadPixlyzerData("1.17.1").test()
}
@Test
fun `1_18_1`() {
ITUtil.loadPixlyzerData("1.18.1").test()
}
@Test
fun `1_18_2`() {
ITUtil.loadPixlyzerData("1.18.2").test()
}
@Test
fun `1_19`() {
ITUtil.loadPixlyzerData("1.19").test()
}
@Test(enabled = false) // already loaded in setup
fun `1_19_2`() {
ITUtil.loadPixlyzerData("1.19.2").test()
}
}

View File

@ -17,7 +17,6 @@ import de.bixilon.kotlinglm.vec2.Vec2i
import de.bixilon.kotlinglm.vec3.Vec3i
import de.bixilon.kutil.collections.CollectionUtil
import de.bixilon.kutil.watcher.DataWatcher
import de.bixilon.minosoft.IT
import de.bixilon.minosoft.data.registries.blocks.BlockState
import de.bixilon.minosoft.data.registries.dimension.DimensionProperties
import de.bixilon.minosoft.data.world.border.WorldBorder
@ -26,6 +25,7 @@ import de.bixilon.minosoft.data.world.positions.ChunkPosition
import de.bixilon.minosoft.data.world.view.TEST_WORLD_VIEW
import de.bixilon.minosoft.gui.rendering.util.vec.vec2.Vec2iUtil.EMPTY
import de.bixilon.minosoft.protocol.network.connection.play.PlayConnection
import de.bixilon.minosoft.test.IT
import de.bixilon.minosoft.util.KUtil.forceSet
object WorldTestUtil {

View File

@ -14,7 +14,7 @@
package de.bixilon.minosoft.data.world.view
import de.bixilon.kutil.cast.CastUtil
import de.bixilon.minosoft.IT
import de.bixilon.minosoft.test.IT
class TestWorldView : WorldView(CastUtil.unsafeNull()) {

View File

@ -13,8 +13,6 @@
package de.bixilon.minosoft.protocol.network.connection.play
import de.bixilon.minosoft.IT
import de.bixilon.minosoft.IT.reference
import de.bixilon.minosoft.data.accounts.types.offline.OfflineAccount
import de.bixilon.minosoft.data.entities.entities.player.local.LocalPlayerEntity
import de.bixilon.minosoft.data.registries.registries.Registries
@ -22,6 +20,8 @@ import de.bixilon.minosoft.data.world.WorldTestUtil.createWorld
import de.bixilon.minosoft.data.world.WorldTestUtil.initialize
import de.bixilon.minosoft.modding.event.master.EventMaster
import de.bixilon.minosoft.protocol.network.network.client.test.TestNetwork
import de.bixilon.minosoft.test.IT
import de.bixilon.minosoft.test.IT.reference
import de.bixilon.minosoft.util.KUtil.forceSet

View File

@ -11,7 +11,7 @@
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
*/
package de.bixilon.minosoft
package de.bixilon.minosoft.test
import de.bixilon.kutil.cast.CastUtil.unsafeNull
import de.bixilon.minosoft.data.registries.versions.Version
@ -19,7 +19,7 @@ import org.objenesis.ObjenesisStd
object IT {
val OBJENESIS = ObjenesisStd()
const val VERSION_NAME = "1.18.2"
const val TEST_VERSION_NAME = "1.18.2"
var VERSION: Version = unsafeNull()
val references: MutableList<Any> = mutableListOf()

View File

@ -0,0 +1,42 @@
/*
* Minosoft
* Copyright (C) 2020-2022 Moritz Zwerger
*
* 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 the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
*/
package de.bixilon.minosoft.test
import de.bixilon.kutil.latch.CountUpAndDownLatch
import de.bixilon.minosoft.config.profile.profiles.resources.ResourcesProfile
import de.bixilon.minosoft.config.profile.profiles.resources.ResourcesProfileManager
import de.bixilon.minosoft.data.registries.versions.Version
import de.bixilon.minosoft.data.registries.versions.Versions
object ITUtil {
private val profile = createResourcesProfile()
fun createResourcesProfile(): ResourcesProfile {
ResourcesProfileManager.currentLoadingPath = "dummy"
val profile = ResourcesProfile()
ResourcesProfileManager.currentLoadingPath = null
return profile
}
fun loadPixlyzerData(name: String): Version {
val version = Versions[name]!!
loadPixlyzerData(version)
return version
}
fun loadPixlyzerData(version: Version) {
version.load(profile, CountUpAndDownLatch(0))
}
}