public void ExcecuteTransaction_ThisEIIToEquipIsNotNull_ThisEIIToEquipIsSameAsPickedEqpII_CallsItImmigrateToRelevEqpIG()
    {
        IEqpIITAMConstArg   arg;
        TestEqpIITAM        testEqpIITAM = CreateTestEqpIITAM(out arg);
        IEquippableItemIcon eii          = Substitute.For <IEquippableItemIcon>();

        testEqpIITAM.SetEIIToEquip(eii);
        Assert.That(testEqpIITAM.GetEIIToEquip(), Is.SameAs(eii));
        testEqpIITAM.SetPickedII(eii);
        Assert.That(testEqpIITAM.GetPickedEqpII(), Is.SameAs(testEqpIITAM.GetEIIToEquip()));
        IEquipToolEquipIG eqpIG = arg.eqpToolIGManager.GetRelevantEquipIG(eii);

        testEqpIITAM.ExecuteTransaction();

        eii.Received(1).TravelTransfer(eqpIG);
    }
    public void ExcecuteTransaction_ThisEIIToUnequipIsNotNull_ThisEIIToUnequipIsNotSameAsPickedEqpII_CallsItTransferToPool()
    {
        IEqpIITAMConstArg   arg;
        TestEqpIITAM        testEqpIITAM = CreateTestEqpIITAM(out arg);
        IEquippableItemIcon eii          = Substitute.For <IEquippableItemIcon>();

        testEqpIITAM.SetEIIToUnequip(eii);
        Assert.That(testEqpIITAM.GetEIIToUnequip(), Is.SameAs(eii));
        IEquippableItemIcon otherEii = Substitute.For <IEquippableItemIcon>();

        testEqpIITAM.SetPickedII(otherEii);
        Assert.That(testEqpIITAM.GetPickedEqpII(), Is.Not.SameAs(testEqpIITAM.GetEIIToUnequip()));
        IEquipToolPoolIG poolIG = arg.eqpToolIGManager.GetRelevantPoolIG();

        testEqpIITAM.ExecuteTransaction();

        eii.Received(1).SpotTransfer(poolIG);
    }