Exemplo n.º 1
0
        //Добавить модуль в поток
        public CalcModule AddModule(string code)
        {
            var m = new CalcModule(Project, code);

            Modules.Add(code, m);
            var sm = Project.SchemeModules[code];

            foreach (var ccode in sm.LinkedConnects.Values)
            {
                var con = AddConnect(ccode);
                if (con.Type == ProviderType.Source)
                {
                    m.LinkedSources.Add(Sources.Add(code, (SourceConnect)con));
                }
                if (con.Type == ProviderType.Receiver)
                {
                    m.LinkedReceivers.Add(Receivers.Add(code, (ReceiverConnect)con));
                }
            }

            foreach (var mcode in sm.LinkedModules.Values)
            {
                if (!Modules.ContainsKey(mcode))
                {
                    AddModule(mcode);
                }
                m.LinkedModules.Add(Modules[mcode]);
            }
            return(m);
        }
Exemplo n.º 2
0
 public void checkPolynomCalc()
 {
     Assert.AreEqual(CalcModule.polynomCalc("3x^2+2x+1", "2"), 17);
     Assert.AreEqual(CalcModule.polynomCalc("3x^5+x^4+5x^2+10", "5"), 10135);
     Assert.AreEqual(CalcModule.polynomCalc("x+2x^5+130", "3"), 619);
     Assert.AreEqual(CalcModule.polynomCalc("9x^5+4x^2+8x^3+9", "2"), 377);
     Assert.AreEqual(CalcModule.polynomCalc("130x^9+1", "4"), 34078721);
     Assert.AreEqual(CalcModule.polynomCalc("7x^7-4x^9-x+10", "5"), -7265610);
     Assert.AreEqual(CalcModule.polynomCalc("5x^3+x^4+x+9", "-5"), 4);
     Assert.AreEqual(CalcModule.polynomCalc("x^2+x^6", "13"), 4826978);
 }
Exemplo n.º 3
0
        public void checkPolynomCalcFull()
        {
            string polynom = "3x^2+2x+1";
            string x       = "2";
            int    result  = 0;

            if (DataCheck.polynomCheck(polynom) && DataCheck.argumentCheck(x))
            {
                result = CalcModule.polynomCalc(polynom, x);
                Assert.AreEqual(result, 17);
            }
            else
            {
                Assert.AreEqual(result, 1);
            }
        }
Exemplo n.º 4
0
        public void checkExspressionCalcFull()
        {
            string polynomP = "2x^4+3x^2+x+2";
            string x        = "1";
            string polynomQ = "2x^4+3x^2+x+2";
            string y        = "1";

            long result = 0;

            if (DataCheck.polynomCheck(polynomP) && DataCheck.argumentCheck(x) &&
                DataCheck.polynomCheck(polynomQ) && DataCheck.argumentCheck(y))
            {
                result = CalcModule.expressionCalc(polynomP, x, polynomQ, y);
                Assert.AreEqual(result, -10623730);
            }
            else
            {
                Assert.AreEqual(result, 1);
            }
        }
Exemplo n.º 5
0
 private void button1_Click(object sender, EventArgs e)
 {
     if (DataCheck.polynomCheck(textP.Text) && DataCheck.argumentCheck(textX.Text))
     {
         resultP.Text = "" + CalcModule.polynomCalc(textP.Text, textX.Text);
         if (DataCheck.polynomCheck(textQ.Text) && DataCheck.argumentCheck(textY.Text))
         {
             resultQ.Text  = "" + CalcModule.polynomCalc(textQ.Text, textY.Text);
             resultPQ.Text = "" + CalcModule.expressionCalc(textP.Text, textX.Text, textQ.Text, textY.Text);
         }
         else
         {
             MessageBox.Show("Строка Q не является полиномом или аргумент Y неприемлим");
         }
     }
     else
     {
         MessageBox.Show("Строка P не является полиномом или аргумент X неприемлим");
     }
 }
Exemplo n.º 6
0
 public void checkExspressionCalc()
 {
     Assert.AreEqual(CalcModule.expressionCalc("2x^4+3x^2+x+2", "1", "2x^4+3x^2+x+2", "1"), -10623730);
     Assert.AreEqual(CalcModule.expressionCalc("2x^4+3x^2+x+2", "2", "32x+7", "3"), -1555671534);
     Assert.AreEqual(CalcModule.expressionCalc("2x^2+x+10", "6", "32x+7x^2", "3"), -1448923);
 }