예제 #1
0
        private void ResolveType2(RKResults res, IFunctionExecuter fe, out List <double> divT, out List <double> divZ,
                                  out List <double> divZ2, out List <ResPointViewType2> list)
        {
            var dz1 = new double[res.Count - 1];

            for (int i = 1; i < res.Count; i++)
            {
                dz1[i - 1] = (res[i].Y[0] - res[i - 1].Y[0]) / (res[i].X - res[i - 1].X);
            }
            var dz2 = new double[res.Count - 2];

            for (int i = 1; i < dz1.Length; i++)
            {
                dz2[i - 1] = (dz1[i] - dz1[i - 1]) / (res[i].X - res[i - 1].X);
            }

            var lambda = new int[res.Count - 2];

            var valInPoint = new List <double>();

            for (int i = 0; i < res.Count - 2; i++)
            {
                valInPoint.Clear();
                for (int j = 0; j < fe.SetCount; j++)
                {
                    valInPoint.Add(Math.Abs(dz2[i] - fe.FunctionSet(res[i].X, res[i].Y, j)));
                }

                lambda[i] = valInPoint.IndexOf(valInPoint.Min()) + 1;
            }
            //int g = 0;

            int mn = lambda[0];

            divZ  = new List <double>(); // res[0].Y[0];
            divT  = new List <double>(); // res[0].X;
            divZ2 = new List <double>();

            var checkedSet = new List <int>();

            for (int i = 1; i < lambda.Length; i++)
            {
                if (lambda[i] != mn && (checkedSet.Count == 0 || !checkedSet.Contains(lambda[i])))
                {
                    divT.Add((res[i].X + res[i - 1].X) / 2f);
                    divZ.Add((res[i].Y[0] + res[i - 1].Y[0]) / 2f);
                    divZ2.Add((res[i].Y[1] + res[i - 1].Y[1]) / 2f);
                    checkedSet.Add(mn);
                    mn = lambda[i];
                }
            }

            //fill DataSouce
            list = new List <ResPointViewType2>();
            for (int i = 0; i < lambda.Length; i++)
            {
                list.Add(new ResPointViewType2(res[i].X, res[i].Y[0], res[i].Y[1], lambda[i], -1));
            }
        }
 public TestInitialization(IBasePage basePage, string fixtureName, IFunctionExecuter executer, IReporter reporter)
 {
     this.BasePage            = basePage;
     this.Executer            = executer;
     this.Reporter            = reporter;
     BasePage.TestName        = TestContext.CurrentContext.Test.Name;
     BasePage.FixtureName     = fixtureName;
     BasePage.RunningBrowser  = ConfigurationManager.AppSettings.Get("RunAllTestsOn");
     BasePage.ScreenShotsPath = CreateScreenShotPath();
 }
예제 #3
0
        public void SendSolvingResultType2(RKResults res, IFunctionExecuter fe)
        {
            List <double>            divZ;
            List <double>            divZ2;
            List <double>            divT;
            List <ResPointViewType2> list;

            ResolveType2(res, fe, out divT, out divZ, out divZ2, out list);

            ShowResultType2(divT, divZ, list, res.MinimumZ2(), res.MaximumZ2());
        }
예제 #4
0
        public void SendSolvingResultType1(RKResults res, IFunctionExecuter fe)
        {
            var dz = new double[res.Count - 1];

            for (int i = 1; i < res.Count; i++)
            {
                dz[i - 1] = (res[i].Y[0] - res[i - 1].Y[0]) / (res[i].X - res[i - 1].X);
            }
            var lambda = new int[res.Count - 1];

            //v[0] = t <= 0 ? -1 : 1
            var valInPoint = new List <double>();

            for (int i = 0; i < res.Count - 1; i++)
            {
                valInPoint.Clear();
                for (int j = 0; j < fe.SetCount; j++)
                {
                    valInPoint.Add(Math.Abs(dz[i] - fe.FunctionSet(res[i].X, res[i].Y, j)));
                }

                lambda[i] = valInPoint.IndexOf(valInPoint.Min()) + 1;
            }
            //int g = 0;

            int mn   = lambda[0];
            var divZ = new List <double>(); // res[0].Y[0];
            var divT = new List <double>(); // res[0].X;

            var checkedSet = new List <int>();

            for (int i = 1; i < lambda.Length; i++)
            {
                if (lambda[i] != mn && (checkedSet.Count == 0 || !checkedSet.Contains(lambda[i])))
                {
                    divT.Add((res[i].X + res[i - 1].X) / 2f);
                    divZ.Add((res[i].Y[0] + res[i - 1].Y[0]) / 2f);
                    checkedSet.Add(mn);
                    mn = lambda[i];
                    continue;
                }
            }

            //fill DataSouce
            var list = new List <ResPointViewType1>();

            for (int i = 0; i < lambda.Length; i++)
            {
                list.Add(new ResPointViewType1(res[i].X, res[i].Y[0], lambda[i], -1));
            }

            ShowResultType1(divT, divZ, list, res[0].X, res[res.Count - 1].X);
        }
        public void SetUp()
        {
            string Hub             = ConfigurationManager.AppSettings.Get("Hub");
            string Appium          = ConfigurationManager.AppSettings.Get("Appium");
            string RunAllTestsOn   = ConfigurationManager.AppSettings.Get("RunAllTestsOn");
            var    sectionNamePath = "Browsers/" + ConfigurationManager.AppSettings.Get("RunAllTestsOn");
            var    browserSettingsKeyValuePairColl = ConfigurationManager.GetSection(sectionNamePath) as NameValueCollection;

            ITestsDependenciesResolver resolver = new TestsDependenciesResolver(Hub, Appium, RunAllTestsOn,
                                                                                browserSettingsKeyValuePairColl);

            _basePage = resolver.Resolve <IBasePage>();
            _executer = resolver.Resolve <IFunctionExecuter>(_basePage);
            _reporter = resolver.Resolve <IReporter>(_basePage);

            _objectContainer.RegisterInstanceAs(_basePage);
            _objectContainer.RegisterInstanceAs(_executer);
            _objectContainer.RegisterInstanceAs(_reporter);
        }
예제 #6
0
        public void SendSolvingResultType2Mass(Dictionary <string, RKResults> results, IFunctionExecuter fe)
        {
            List <double>            divZ;
            List <double>            divZ2;
            List <double>            divT;
            List <ResPointViewType2> list;
            var p = new PointPairList();

            mainForm.DrawCurves(results);

            var r = new Dictionary <string, List <ResPointViewType2> >();


            foreach (string s in results.Keys)
            {
                ResolveType2(results[s], fe, out divT, out divZ, out divZ2, out list);

                r.Add(s, list);
                if (divZ.Count > 0)
                {
                    p.Add(divZ[0], divZ2[0]);
                }
            }

            p.Sort(SortType.YValues);
            //p.Sort(ZedGraph.SortType.XValues);


            ShowResultType2Mass(p, r);
        }
예제 #7
0
 public LoginFeatureSteps(IBasePage basePage, IFunctionExecuter executer, IReporter reporter) :
     base(basePage, "LoginFeatureSteps", executer, reporter)
 {
 }
예제 #8
0
 private void rk_OnSolvingDoneType2(RKResults res, string c, IFunctionExecuter fe)
 {
     view.SendSolvingResultType2(res, fe);
 }
예제 #9
0
 public RKVectorForm(IFunctionExecuter fe, string curveName, double a, double b, Vector Y0)
     : this(fe, curveName)
 {
     SetAlgorithmParameters(a, b, Y0);
 }
예제 #10
0
 private void rk_OnSolvingDoneType2(RKResults res, string c, IFunctionExecuter fe)
 {
     view.SendSolvingResultType2(res, fe);
 }
예제 #11
0
        public void SendSolvingResultType2Mass(Dictionary<string, RKResults> results, IFunctionExecuter fe)
        {
            List<double> divZ;
            List<double> divZ2;
            List<double> divT;
            List<ResPointViewType2> list;
            var p = new PointPairList();

            mainForm.DrawCurves(results);

            var r = new Dictionary<string, List<ResPointViewType2>>();

            foreach (string s in results.Keys)
            {
                ResolveType2(results[s], fe, out divT, out divZ, out divZ2, out list);

                r.Add(s, list);
                if (divZ.Count > 0)
                {
                    p.Add(divZ[0], divZ2[0]);
                }
            }

            p.Sort(SortType.YValues);
            //p.Sort(ZedGraph.SortType.XValues);

            ShowResultType2Mass(p, r);
        }
예제 #12
0
        public void SendSolvingResultType2(RKResults res, IFunctionExecuter fe)
        {
            List<double> divZ;
            List<double> divZ2;
            List<double> divT;
            List<ResPointViewType2> list;
            ResolveType2(res, fe, out divT, out divZ, out divZ2, out list);

            ShowResultType2(divT, divZ, list, res.MinimumZ2(), res.MaximumZ2());
        }
예제 #13
0
        public void SendSolvingResultType1(RKResults res, IFunctionExecuter fe)
        {
            var dz = new double[res.Count - 1];
            for (int i = 1; i < res.Count; i++)
            {
                dz[i - 1] = (res[i].Y[0] - res[i - 1].Y[0])/(res[i].X - res[i - 1].X);
            }
            var lambda = new int[res.Count - 1];

            //v[0] = t <= 0 ? -1 : 1
            var valInPoint = new List<double>();
            for (int i = 0; i < res.Count - 1; i++)
            {
                valInPoint.Clear();
                for (int j = 0; j < fe.SetCount; j++)
                {
                    valInPoint.Add(Math.Abs(dz[i] - fe.FunctionSet(res[i].X, res[i].Y, j)));
                }

                lambda[i] = valInPoint.IndexOf(valInPoint.Min()) + 1;
            }
            //int g = 0;

            int mn = lambda[0];
            var divZ = new List<double>(); // res[0].Y[0];
            var divT = new List<double>(); // res[0].X;

            var checkedSet = new List<int>();

            for (int i = 1; i < lambda.Length; i++)
            {
                if (lambda[i] != mn && (checkedSet.Count == 0 || !checkedSet.Contains(lambda[i])))
                {
                    divT.Add((res[i].X + res[i - 1].X)/2f);
                    divZ.Add((res[i].Y[0] + res[i - 1].Y[0])/2f);
                    checkedSet.Add(mn);
                    mn = lambda[i];
                    continue;
                }
            }

            //fill DataSouce
            var list = new List<ResPointViewType1>();
            for (int i = 0; i < lambda.Length; i++)
            {
                list.Add(new ResPointViewType1(res[i].X, res[i].Y[0], lambda[i], -1));
            }

            ShowResultType1(divT, divZ, list, res[0].X, res[res.Count - 1].X);
        }
예제 #14
0
 public RKVectorForm(IFunctionExecuter fe, string curveName, double a, double b, Vector Y0)
     : this(fe, curveName)
 {
     SetAlgorithmParameters(a, b, Y0);
 }
예제 #15
0
 public RKVectorForm(IFunctionExecuter fe, string curveName)
     : this(fe.AbstractFunction, curveName)
 {
     this.fe = fe;
 }
예제 #16
0
 private void rk_OnSolvingDone(RKResults res, string curve, IFunctionExecuter fe)
 {
     view.DrawResult(res, curve);
 }
예제 #17
0
        private void ResolveType2(RKResults res, IFunctionExecuter fe, out List<double> divT, out List<double> divZ,
                                  out List<double> divZ2, out List<ResPointViewType2> list)
        {
            var dz1 = new double[res.Count - 1];
            for (int i = 1; i < res.Count; i++)
            {
                dz1[i - 1] = (res[i].Y[0] - res[i - 1].Y[0])/(res[i].X - res[i - 1].X);
            }
            var dz2 = new double[res.Count - 2];
            for (int i = 1; i < dz1.Length; i++)
            {
                dz2[i - 1] = (dz1[i] - dz1[i - 1])/(res[i].X - res[i - 1].X);
            }

            var lambda = new int[res.Count - 2];

            var valInPoint = new List<double>();
            for (int i = 0; i < res.Count - 2; i++)
            {
                valInPoint.Clear();
                for (int j = 0; j < fe.SetCount; j++)
                {
                    valInPoint.Add(Math.Abs(dz2[i] - fe.FunctionSet(res[i].X, res[i].Y, j)));
                }

                lambda[i] = valInPoint.IndexOf(valInPoint.Min()) + 1;
            }
            //int g = 0;

            int mn = lambda[0];
            divZ = new List<double>(); // res[0].Y[0];
            divT = new List<double>(); // res[0].X;
            divZ2 = new List<double>();

            var checkedSet = new List<int>();

            for (int i = 1; i < lambda.Length; i++)
            {
                if (lambda[i] != mn && (checkedSet.Count == 0 || !checkedSet.Contains(lambda[i])))
                {
                    divT.Add((res[i].X + res[i - 1].X)/2f);
                    divZ.Add((res[i].Y[0] + res[i - 1].Y[0])/2f);
                    divZ2.Add((res[i].Y[1] + res[i - 1].Y[1])/2f);
                    checkedSet.Add(mn);
                    mn = lambda[i];
                }
            }

            //fill DataSouce
            list = new List<ResPointViewType2>();
            for (int i = 0; i < lambda.Length; i++)
            {
                list.Add(new ResPointViewType2(res[i].X, res[i].Y[0], res[i].Y[1], lambda[i], -1));
            }
        }
예제 #18
0
 private void rk_OnSolvingDone(RKResults res, string curve, IFunctionExecuter fe)
 {
     view.DrawResult(res, curve);
 }
예제 #19
0
 public RKVectorForm(IFunctionExecuter fe, string curveName)
     : this(fe.AbstractFunction, curveName)
 {
     this.fe = fe;
 }