mirror of
https://github.com/2revoemag/PSF-BotServer.git
synced 2026-02-25 01:23:36 +00:00
* power outage failure resulting in the destruction of the original ocm-fixes branch; the git branch refs were corrupted during commit, but the up-to-date changed files remained intact * eliminating the need for CommonFieldData2 and CommonFieldData2WithPlacement * in the middle of integrating CommonFieldData into DetailedLockerContainerData (but not standard LockerContainerData); added field for final boolean in WeaponData * adding faction affinity to Equipment (to match functionality; not becuase I know what ends ...) * in the middle of integrating CommonFieldData into DetailedCommandDetonaterData * applying faction affinity to objects at time of terminal production (but to what ends?); required BoomerTrigger and AmmoBox to always report as NEUTRAL internally * completed the transition from using the old class-based order terminal system to the page-based order terminal system; unused terminal classes have been eliminated * more closely aligned TelepadDeployableData and InternalTelepadDeployableData * modifying TelepadDeployableData make it generic and eliminate the need for InternalTelepadDeployableData after fixing a packet converter to utilize DroppedItemData * modified Terminal operation to branch further outwards from Terminal.Request to the TerminalDefinition's Request method; modified tests to reflect update * loosening up matrix terminal definition limitations * modified ProximityTerminal to support a custom defintition class * rendered the message passing system for Terminals general (Any) in the full scale so it can be specific in instance cases * refactored and moved both EquipmentSlot and ExoSuitDefinition * (re)load Favorites each time player (re)spawns
84 lines
3.4 KiB
Scala
84 lines
3.4 KiB
Scala
// Copyright (c) 2019 PSForever
|
|
import net.psforever.packet.game.objectcreate.{Cosmetics, PersonalStyle}
|
|
import org.specs2.mutable._
|
|
import net.psforever.types.Vector3
|
|
|
|
class CosmeticsTest extends Specification {
|
|
"Cosmetics" should {
|
|
"construct" in {
|
|
Cosmetics()
|
|
Cosmetics(3)
|
|
Cosmetics(PersonalStyle.NoHelmet)
|
|
Cosmetics(Set(PersonalStyle.NoHelmet))
|
|
Cosmetics(true, false, false, false, false)
|
|
ok
|
|
}
|
|
|
|
"translate into a numeric value" in {
|
|
Cosmetics().pstyles mustEqual 0
|
|
Cosmetics(3).pstyles mustEqual 3
|
|
Cosmetics(PersonalStyle.NoHelmet).pstyles mustEqual PersonalStyle.NoHelmet.id
|
|
Cosmetics(Set(PersonalStyle.NoHelmet, PersonalStyle.Earpiece)).pstyles mustEqual PersonalStyle.NoHelmet.id + PersonalStyle.Earpiece.id
|
|
Cosmetics(true, false, false, false, false).pstyles mustEqual PersonalStyle.NoHelmet.id
|
|
}
|
|
|
|
"translate into a list of cosmetic style tokens" in {
|
|
Cosmetics().Styles mustEqual Set()
|
|
Cosmetics(3).Styles mustEqual Set(PersonalStyle.BrimmedCap, PersonalStyle.Earpiece)
|
|
Cosmetics(PersonalStyle.NoHelmet).Styles mustEqual Set(PersonalStyle.NoHelmet)
|
|
Cosmetics(Set(PersonalStyle.NoHelmet)).Styles mustEqual Set(PersonalStyle.NoHelmet)
|
|
Cosmetics(true, false, false, false, false).Styles mustEqual Set(PersonalStyle.NoHelmet)
|
|
}
|
|
|
|
"report containing specific values only" in {
|
|
val cos = Cosmetics(Set(PersonalStyle.NoHelmet, PersonalStyle.Earpiece))
|
|
cos.contains(PersonalStyle.NoHelmet) mustEqual true
|
|
cos.contains(PersonalStyle.Beret) mustEqual false
|
|
}
|
|
|
|
"add values" in {
|
|
val cos = Cosmetics()
|
|
cos.Styles mustEqual Set()
|
|
val cos1 = cos + PersonalStyle.NoHelmet
|
|
cos1.Styles mustEqual Set(PersonalStyle.NoHelmet)
|
|
cos1.Styles mustNotEqual cos.Styles
|
|
val cos2 = cos1 + PersonalStyle.Beret
|
|
cos2.Styles mustEqual Set(PersonalStyle.NoHelmet, PersonalStyle.Beret)
|
|
cos2.Styles mustNotEqual cos.Styles
|
|
cos2.Styles mustNotEqual cos1.Styles
|
|
}
|
|
|
|
"can not add already included values" in {
|
|
val cos = Cosmetics(Set(PersonalStyle.NoHelmet, PersonalStyle.Beret))
|
|
cos.Styles mustEqual Set(PersonalStyle.NoHelmet, PersonalStyle.Beret)
|
|
val cos1 = cos + PersonalStyle.Beret
|
|
cos1.Styles mustEqual Set(PersonalStyle.NoHelmet, PersonalStyle.Beret)
|
|
cos ne cos1 mustEqual true
|
|
}
|
|
|
|
"remove values" in {
|
|
val cos = Cosmetics(Set(PersonalStyle.NoHelmet, PersonalStyle.Beret))
|
|
cos.Styles mustEqual Set(PersonalStyle.NoHelmet, PersonalStyle.Beret)
|
|
val cos1 = cos - PersonalStyle.NoHelmet
|
|
cos1.Styles mustEqual Set(PersonalStyle.Beret)
|
|
cos1.Styles mustNotEqual cos.Styles
|
|
val cos2 = cos1 - PersonalStyle.Beret
|
|
cos2.Styles mustEqual Set()
|
|
cos2.Styles mustNotEqual cos.Styles
|
|
cos2.Styles mustNotEqual cos1.Styles
|
|
}
|
|
|
|
"can not remove un-included or already excluded values" in {
|
|
val cos = Cosmetics(Set(PersonalStyle.NoHelmet, PersonalStyle.Beret))
|
|
cos.Styles mustEqual Set(PersonalStyle.NoHelmet, PersonalStyle.Beret)
|
|
val cos1 = cos - PersonalStyle.Beret
|
|
cos1.Styles mustEqual Set(PersonalStyle.NoHelmet)
|
|
|
|
val cos2 = cos - PersonalStyle.Beret //again
|
|
cos2.Styles mustEqual Set(PersonalStyle.NoHelmet)
|
|
|
|
val cos3 = cos1 - PersonalStyle.Earpiece
|
|
cos3.Styles mustEqual Set(PersonalStyle.NoHelmet)
|
|
}
|
|
}
|
|
}
|