acdream/tests/AcDream.Core.Tests/Items
Erik 70f37dbd5c
Some checks are pending
Headless portability / portable-headless (ubuntu-latest) (push) Waiting to run
Headless portability / portable-headless (windows-latest) (push) Waiting to run
Headless portability / linux-graphical (push) Waiting to run
Headless portability / linux-vulkan (push) Waiting to run
feat(core): Slice 5.2 — VendorState + retail's exact vendor price math
VendorState sits beside ExternalContainerState (contract decision 1)
with the same shape: private setters, Changed event, Reset with
AggregateException fanout; domain-shaped like ContainerContentEntry
since Core cannot reference Core.Net. No Runtime wiring, no UI — 5.3's
job.

VendorPricing ports ShopSystem::BuyPrice/SellPrice (0x006B6120/
0x006B6180) faithfully: retail's literal three-way branch survives,
including the unreachable-with-real-data negative -1 sentinel that
ACE's Math.Max(1, ...) collapse erases — equivalence for legitimate
inputs is hand-proven and documented rather than silently assumed.
Seven conformance tests with hand-derived golden values (float32
semantics verified independently), covering rate=1.0, fractional
rates, value=0, the rounding-sensitive halfway case, stack
multipliers, the ItemType rate-override branch, and the sentinel.

Clean-room complete solution with 5.1+5.2 in place: 11,291 passed /
4 skipped / 0 failed.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-08-07 15:05:47 +02:00
..
AetheriaUnlockStateTests.cs fix(paperdoll): port quest-gated Aetheria slots 2026-07-13 09:55:20 +02:00
BurdenMathTests.cs fix(ui): match retail vitae and character info 2026-07-17 12:06:14 +02:00
ClientObjectNameTests.cs fix(ui): finish retail stack selector polish 2026-07-11 10:22:11 +02:00
ClientObjectTableBurdenTests.cs feat(core): D.2b-B — ClientObjectTable.SumCarriedBurden (carried-Burden fallback) 2026-06-21 08:55:35 +02:00
ClientObjectTableTests.cs fix(physics): #297 — keep the PWD bitfield live so PK status reaches the client 2026-08-03 20:59:01 +02:00
ClientObjectTableUpdateTests.cs feat(core): D.2b-B B-Wire — ClientObjectTable.UpdateStackSize 2026-06-21 18:48:54 +02:00
EquipMaskTests.cs fix(D.2b): correct EquipMask to canonical retail INVENTORY_LOC + numeric-pin test 2026-06-22 21:56:06 +02:00
ExternalContainerStateTests.cs refactor(net): converge live session state reset 2026-07-21 12:00:48 +02:00
InventoryTransactionStateTests.cs refactor(runtime): own inventory transaction state 2026-07-26 08:20:32 +02:00
ItemCooldownDisplayTests.cs feat(items): port retail shared cooldown overlays 2026-07-23 10:41:16 +02:00
ItemInteractionPolicyTests.cs fix(items): port retail useability and autowear rejection 2026-07-23 08:33:31 +02:00
ItemManaStateTests.cs feat(ui): port retail selected-item mana 2026-07-11 11:16:21 +02:00
ItemUseabilityTests.cs fix(items): port retail useability and autowear rejection 2026-07-23 08:33:31 +02:00
PaperdollSelectionPolicyTests.cs fix(ui): port exact paperdoll body selection 2026-07-11 11:56:26 +02:00
PlayerKillerStatusBitfieldTests.cs fix(physics): #297 — keep the PWD bitfield live so PK status reaches the client 2026-08-03 20:59:01 +02:00
ShortcutDropPlannerTests.cs feat(ui): complete retail item drop branches 2026-07-11 09:46:32 +02:00
ShortcutStoreTests.cs refactor(runtime): close canonical gameplay ownership 2026-07-26 09:48:51 +02:00
StackMergePlannerTests.cs feat(ui): complete retail item drop branches 2026-07-11 09:46:32 +02:00
StackSplitQuantityStateTests.cs fix(ui): port retail partial stack transfers 2026-07-11 10:34:13 +02:00
ToolbarAmmoPolicyTests.cs feat(ui): port retail toolbar ammo count 2026-07-11 12:29:51 +02:00
VendorPricingTests.cs feat(core): Slice 5.2 — VendorState + retail's exact vendor price math 2026-08-07 15:05:47 +02:00
VendorStateTests.cs feat(core): Slice 5.2 — VendorState + retail's exact vendor price math 2026-08-07 15:05:47 +02:00