예제 #1
0
    public void SetToDefaultState_ThisBecomesDefaultState()
    {
        TestIITAMStateEngine engine = new TestIITAMStateEngine();

        engine.SetToDefaultState();

        Assert.That(engine.IsInDefaultState(), Is.True);
    }
예제 #2
0
    public void SetToPickedState_ThisBecomesPickedState()
    {
        TestIITAMStateEngine engine = new TestIITAMStateEngine();

        engine.SetToPickedState(Substitute.For <IItemIcon>());

        Assert.That(engine.IsInPickedUpState(), Is.True);
    }
예제 #3
0
    public void SetToPickedState_CallsPickedStateSetPickedII()
    {
        TestIITAMStateEngine engine   = new TestIITAMStateEngine();
        IItemIcon            pickedII = Substitute.For <IItemIcon>();

        engine.SetToPickedState(pickedII);

        engine.GetPickedState().Received(1).SetPickedII(pickedII);
    }
예제 #4
0
    public void SetIITAM_CallsBothStatesSetIITAM()
    {
        TestIITAMStateEngine        engine = new TestIITAMStateEngine();
        IItemIconTransactionManager iiTAM  = Substitute.For <IItemIconTransactionManager>();

        engine.SetIITAM(iiTAM);

        engine.GetPickedState().Received(1).SetIITAM(iiTAM);
        engine.GetDefaultState().Received(1).SetIITAM(iiTAM);
    }
예제 #5
0
    public void SetToDefaultState_WhileInDefaultState_DoesNotCallDefaultStateOnEnterTwice()
    {
        TestIITAMStateEngine engine = new TestIITAMStateEngine();

        Assert.That(engine.IsInDefaultState(), Is.False);
        engine.SetToDefaultState();
        Assert.That(engine.IsInDefaultState(), Is.True);

        engine.SetToDefaultState();

        engine.GetDefaultState().Received(1).OnEnter();
    }
예제 #6
0
    public void SetToPickedState_WhileInPickedState_DoesNotCallPickedStateOnEnterTwice()
    {
        TestIITAMStateEngine engine = new TestIITAMStateEngine();

        Assert.That(engine.IsInPickedUpState(), Is.False);
        engine.SetToPickedState(Substitute.For <IItemIcon>());
        Assert.That(engine.IsInPickedUpState(), Is.True);

        engine.SetToPickedState(Substitute.For <IItemIcon>());

        engine.GetPickedState().Received(1).OnEnter();
    }