Ejemplo n.º 1
0
        public void D_Nested_CreateNegativeVariableSP_Test()
        {
            SimplePart sP = new SimplePart("-x");

            Assert.False(sP.IsFinal);
            Assert.False(sP.IsValue);
        }
Ejemplo n.º 2
0
 public virtual void OnCellPartEnterNearby(SimplePart cp)
 {
     if (Distance(cp) < CellPartBalance.i.springMaxDist && cp.transform.parent == transform.parent)
     {
         JointWrapper.MakeJoint(this, cp);
     }
 }
    public static SimplePart WhoControlsJoint(SimplePart sp1, SimplePart sp2)
    {
        if (sp1 is Membrane m1 && sp2 is Membrane m2)
        {
            // sp1 is the default controller if niether has an actual joint
            if (GetJoint(sp2, sp1) == null)
            {
                return(sp1);
            }
            else
            {
                return(sp2);
            }
        }

        if (sp1.JointDesire(sp2) > sp2.JointDesire(sp1))
        {
            return(sp1);
        }
        else if (sp1.JointDesire(sp2) == sp2.JointDesire(sp1))
        {
            // If same desire, choose arbitrariliy but consistently.
            return(sp1.GetInstanceID() < sp2.GetInstanceID() ? sp1 : sp2);
        }
        else
        {
            return(sp2);
        }
    }
Ejemplo n.º 4
0
        public void C_Variables_CreateVarableSP_Test()
        {
            SimplePart sP = new SimplePart("X");

            Assert.True(sP.IsFinal);
            Assert.False(sP.IsValue);
        }
Ejemplo n.º 5
0
 public override void OnCellPartEnterNearby(SimplePart cp)
 {
     if (nextJoint == null)
     {
         FindNext();
     }
 }
Ejemplo n.º 6
0
        public void A_Number_CreateSimpePartDoubleWithComma_Test()
        {
            SimplePart sP = new SimplePart("5,2");

            Assert.True(sP.IsFinal);
            Assert.True(sP.IsValue);
        }
Ejemplo n.º 7
0
        public void F_SomeVariables_TwoVariablesCreate_Test()
        {
            SimplePart sP = new SimplePart("x + y");

            Assert.False(sP.IsFinal);
            Assert.False(sP.IsValue);
        }
Ejemplo n.º 8
0
        public void C_Variables_FixVariable_Test()
        {
            SimplePart sP = new SimplePart("x");

            sP.FixValue("x", 5.6);

            Assert.AreEqual(5.6, sP.GetValue(), delta);
        }
Ejemplo n.º 9
0
        public void A_Number_GetValueInteger_Test()
        {
            SimplePart sP = new SimplePart("5");

            Assert.True(sP.IsFinal);
            Assert.True(sP.IsValue);
            Assert.AreEqual(5, sP.GetValue());
        }
Ejemplo n.º 10
0
        public void E_SomeOperations_DegreeWithBrackets_Test2()
        {
            SimplePart sP = new SimplePart("-3 ^ (x + 4)");

            sP.FixValue("x", -2.0);

            Assert.AreEqual(9.0, sP.GetValue(), delta);
        }
Ejemplo n.º 11
0
        public void E_SomeOperations_PlusWithMyltiplyWithDegree_Test3()
        {
            SimplePart sP = new SimplePart("2 - 3 * x ^ 4");

            sP.FixValue("x", -1.0);

            Assert.AreEqual(-1.0, sP.GetValue(), delta);
        }
Ejemplo n.º 12
0
        public void E_SomeOperations_PlusWithMyltiplyWithDegree_Test2()
        {
            SimplePart sP = new SimplePart("-3 + x * 4 ^ 2");

            sP.FixValue("x", 2.0);

            Assert.AreEqual(29.0, sP.GetValue(), delta);
        }
Ejemplo n.º 13
0
        public void E_SomeOperations_PlusWithMyltiply_Test2()
        {
            SimplePart sP = new SimplePart("-3 * x + 4");

            sP.FixValue("x", -1.0);

            Assert.AreEqual(7.0, sP.GetValue(), delta);
        }
Ejemplo n.º 14
0
        public void A_Number_GetValueDouble_Test()
        {
            SimplePart sP = new SimplePart("5.2");

            Assert.True(sP.IsFinal);
            Assert.True(sP.IsValue);
            Assert.True(Equals(5.2, sP.GetValue()));
        }
Ejemplo n.º 15
0
        public void E_SomeOperations_PlusWithMinusWithBacket_Test2()
        {
            SimplePart sP = new SimplePart("(-3 - x) + 4");

            sP.FixValue("x", -1.0);

            Assert.AreEqual(0.0, sP.GetValue(), delta);
        }
Ejemplo n.º 16
0
        public void E_SomeOperations_PlusWithMinus_Test2()
        {
            SimplePart sP = new SimplePart("-3 + x - 4");

            sP.FixValue("x", -1.0);

            Assert.AreEqual(-8.0, sP.GetValue(), delta);
        }
Ejemplo n.º 17
0
        public void F_SomeVariables_TwoVariablesGetVariable_Test()
        {
            SimplePart sP = new SimplePart("x + y");

            Assert.AreEqual(new List <string> {
                "x", "y"
            }, sP.GetVariables());
        }
Ejemplo n.º 18
0
        public void E_SomeOperations_DoublePlus_Test2()
        {
            SimplePart sP = new SimplePart("3 + x + 4");

            sP.FixValue("x", -2.0);

            Assert.AreEqual(5.0, sP.GetValue(), delta);
        }
Ejemplo n.º 19
0
        public void D_Nested_FixValueVariableSP_Test()
        {
            SimplePart sP = new SimplePart("-x");

            sP.FixValue("x", 2.1);

            Assert.Pass();
        }
Ejemplo n.º 20
0
        public void G_NegativeNumber_BadPractice_Test4()
        {
            SimplePart sP = new SimplePart("3 + (-x) * 4");

            sP.FixValue("x", -2.0);

            Assert.AreEqual(11.0, sP.GetValue(), delta);
        }
Ejemplo n.º 21
0
        public void G_NegativeNumber_BadPractice_Test6()
        {
            SimplePart sP = new SimplePart("((3 + x) * 4) - x");

            sP.FixValue("x", -2.0);

            Assert.AreEqual(6.0, sP.GetValue(), delta);
        }
Ejemplo n.º 22
0
        public void F_SomeVariables_OneVariablesDegree_Test()
        {
            SimplePart sP = new SimplePart("x ^ x");

            sP.FixValue("x", 3.0);

            Assert.AreEqual(27.0, sP.GetValue(), delta);
        }
Ejemplo n.º 23
0
        public void G_NegativeNumber_BadPractice_Test3()
        {
            SimplePart sP = new SimplePart("t + (-2 + x)");

            sP.FixValue("x", -2.0);
            sP.FixValue("t", 4.0);

            Assert.AreEqual(0.0, sP.GetValue(), delta);
        }
Ejemplo n.º 24
0
        public void F_SomeVariables_OneXTwoYSumWithMyltiply_Test()
        {
            SimplePart sP = new SimplePart("x + y * x");

            sP.FixValue("x", 2.0);
            sP.FixValue("y", 3);

            Assert.AreEqual(8.0, sP.GetValue(), delta);
        }
Ejemplo n.º 25
0
        public void F_SomeVariables_TwoVariablesDegree_Test2()
        {
            SimplePart sP = new SimplePart("x ^ y");

            sP.FixValue("x", -2.0);
            sP.FixValue("y", 3);

            Assert.AreEqual(-8.0, sP.GetValue(), delta);
        }
Ejemplo n.º 26
0
        public void F_SomeVariables_TwoVariablesMylt_Test()
        {
            SimplePart sP = new SimplePart("x * y");

            sP.FixValue("x", -2.0);
            sP.FixValue("y", 3.5);

            Assert.AreEqual(-7.0, sP.GetValue(), delta);
        }
Ejemplo n.º 27
0
        public void F_SomeVariables_TwoVariablesDiv_Test()
        {
            SimplePart sP = new SimplePart("x / y");

            sP.FixValue("x", 6.0);
            sP.FixValue("y", 1.5);

            Assert.AreEqual(4.0, sP.GetValue(), delta);
        }
Ejemplo n.º 28
0
        public void F_SomeVariables_TwoVariablesSetValue_Test()
        {
            SimplePart sP = new SimplePart("x + y");

            sP.FixValue("x", -2.0);
            sP.FixValue("y", 2.0);

            Assert.AreEqual(0.0, sP.GetValue(), delta);
        }
Ejemplo n.º 29
0
        public void D_B_Brackets_GetValueCosVariableSP_Test()
        {
            SimplePart sP = new SimplePart("cos(x)");

            sP.FixValue("x", 3.14);

            var result = sP.GetValue();

            Assert.AreEqual(Math.Cos(3.14), result);
        }
Ejemplo n.º 30
0
        public void D_Nested_GetValueMinusSP_Test2()
        {
            SimplePart sP = new SimplePart("3.2 - x");

            sP.FixValue("x", 3);

            var result = sP.GetValue();

            Assert.AreEqual(0.2, result, delta);
        }