Пример #1
0
        internal void WebTransactions()
        {
            int    threadid = Convert.ToInt16(Thread.CurrentThread.Name);
            string path     = "/exp1/1";
            var    signal   = myCoreService.GetOneByPathAsync(path).Result;
            //JDBCEntity exp0 = new Experiment("exp0");
            //MyCoreApi.AddOneToExperimentAsync(Guid.Empty, exp0).Wait();
            ////normal data
            //var waveSignal1 = (IntFixedIntervalWaveSignal)MyCoreApi.CreateSingal("FixedWave-int", "ws1", @"StartTime=-2&SampleInterval=0.5");
            //MyCoreApi.AddOneToExperimentAsync(exp0.Id, waveSignal1).Wait();
            //int[] data1 = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
            //waveSignal1.PutDataAsync("", data1).Wait();
            //waveSignal1.PutDataAsync("", data1).Wait();
            //waveSignal1.PutDataAsync("", data1).Wait();
            ////big data
            //var waveSignal2 = (DoubleFixedIntervalWaveSignal)MyCoreApi.CreateSingal("FixedWave-double", "ws2", @"StartTime=-2&SampleInterval=0.00001");
            //MyCoreApi.AddOneToExperimentAsync(exp0.Id, waveSignal2).Wait();
            List <double> data2 = new List <double>();
            var           rand  = new Random();

            for (int i = 0; i < 20000; i++)
            {
                data2.Add(Math.Sin(i) + rand.NextDouble());
            }
            for (int i = 0; i < 200; i++)
            {
                storageEngine.AppendSampleAsync <double>(signal.Id, new List <long> {
                }, data2, true).Wait();
                //  waveSignal2.PutDataAsync("", data2).Wait();
            }
        }
Пример #2
0
        //Use Cursor.Read()
        public void JDBCCursorSingleDimReadTest()
        {
            var exp1  = new Experiment("exp1");
            var sig11 = new Signal("sig1-1");

            myCoreService.AddJdbcEntityToAsync(Guid.Empty, exp1).Wait();
            myCoreService.AddJdbcEntityToAsync(exp1.Id, sig11).Wait();
            var data = generateDummyData();
            //  var oneDim = new List<double>(8);
            int n = 0, m = 0;

            //append signal
            for (int i = 0; i < 20; i++)
            {
                m = n + 5;
                var oneDim = new List <double>(5);
                for (; n < m; n++)
                {
                    oneDim.Add(n);
                }
                mongoEngine.AppendSampleAsync(sig11.Id, new List <long> {
                }, oneDim).Wait();
            }
            var cursor = mongoEngine.GetCursorAsync <double>(sig11.Id, new List <long> {
                46
            }, new List <long> {
                60
            }).Result;

            List <double> result1 = cursor.Read(10).Result.ToList();

            //   double[] assertresult1 = { 4, 5, 6,7,8 };
            double[] assertresult1 = new double[10];
            for (int i = 46, j = 0; j < 10;)
            {
                assertresult1[j++] = i++;
            }
            CollectionAssert.AreEqual(assertresult1, result1);
            result1 = cursor.Read(10).Result.ToList();
            for (int i = 56, j = 0; j < 10;)
            {
                assertresult1[j++] = i++;
            }
            CollectionAssert.AreEqual(assertresult1, result1);
            result1 = cursor.Read(30).Result.ToList();
            //  result1 = cursor.Read(10).Result.ToList();
            List <double> result2 = cursor.Read(10).Result.ToList();

            double[] assertresult2 = { 96, 97, 98, 99, 0, 0, 0, 0, 0, 0 };
            //double[] assertresult2 = {9, 10, 11, 12,13, 14, 15, 16, 17, 18 };
            CollectionAssert.AreEqual(assertresult2, result2);
        }
Пример #3
0
        public void ReadData2DTest()
        {
            var exp1  = new Experiment("exp1");
            var sig11 = new Signal("sig1-1");

            myCoreService.AddJdbcEntityToAsync(Guid.Empty, exp1).Wait();
            myCoreService.AddJdbcEntityToAsync(exp1.Id, sig11).Wait();
            var data = generateDummyData();
            int n = 0, m = 0;

            //append signal
            for (int i = 0; i < 20; i++)
            {
                m = n + 5;
                var oneDim = new List <double>(5);
                for (; n < m; n++)
                {
                    oneDim.Add(n);
                }
                storageEngine.AppendSampleAsync(sig11.Id, new List <long> {
                    0
                }, oneDim).Wait();
            }
            n = m = 0;
            for (int i = 0; i < 20; i++)
            {
                m = n + 5;
                var oneDim = new List <double>(5);
                for (; n < m; n++)
                {
                    oneDim.Add(n);
                }
                storageEngine.AppendSampleAsync(sig11.Id, new List <long> {
                    1
                }, oneDim).Wait();
            }

            double[] assertresult1  = new double[50];
            double[] assertresult21 = new double[60];
            double[] assertresult22 = new double[40];
            for (int i = 46, j = 0; j < 50;)
            {
                assertresult1[j]    = i;
                assertresult21[j++] = i++;
            }
            for (int i = 46, j = 50; j < 60;)
            {
                assertresult21[j++] = i++;
            }
            for (int i = 56, j = 0; j < 40;)
            {
                assertresult22[j++] = i++;
            }
            // 1  读取测试
            var cursor1             = storageEngine.GetCursorAsync <double>(sig11.Id, new List <long> {
                0, 46
            }, new List <long> {
                2, 60
            }).Result;
            List <double> result1 = cursor1.Read(50).Result.ToList();

            CollectionAssert.AreEqual(assertresult1, result1);

            // 2  跨维度测试
            var cursor2 = storageEngine.GetCursorAsync <double>(sig11.Id, new List <long> {
                0, 46
            }, new List <long> {
                2, 50
            }).Result;
            List <double> result21 = cursor2.Read(60).Result.ToList();

            CollectionAssert.AreEqual(assertresult21, result21);

            List <double> result122 = cursor2.Read(50).Result.ToList();

            CollectionAssert.AreEqual(assertresult22, result122);

            // 3  边界测试
            double[] assertresult31 = new double[60];
            for (int i = 40, j = 0; j < 60;)
            {
                assertresult31[j++] = i++;
            }
            var cursor3 = storageEngine.GetCursorAsync <double>(sig11.Id, new List <long> {
                0, 40
            }, new List <long> {
                2, 60
            }).Result;
            List <double> result31 = cursor3.Read(60).Result.ToList();

            CollectionAssert.AreEqual(assertresult31, result31);

            List <double> result32 = cursor3.Read(60).Result.ToList();

            CollectionAssert.AreEqual(assertresult31, result32);

            // 4  读取测试,带factor
            double[] assertresult41 = new double[5] {
                5, 10, 15, 20, 25
            };
            var cursor4 = storageEngine.GetCursorAsync <double>(sig11.Id, new List <long> {
                0, 5
            }, new List <long> {
                2, 10
            }, new List <long> {
                1, 5
            }).Result;
            List <double> result41 = cursor4.Read(5).Result.ToList();

            CollectionAssert.AreEqual(assertresult41, result41);
        }
Пример #4
0
        //Use Cursor.Read()
        public void JDBCCursorTest()
        {
            var exp1  = new Experiment("exp1");
            var sig11 = new Signal("sig1-1");

            myCoreService.AddJdbcEntityToAsync(Guid.Empty, exp1).Wait();
            myCoreService.AddJdbcEntityToAsync(exp1.Id, sig11).Wait();
            var data = generateDummyData();
            //  var oneDim = new List<double>(8);
            int n = 0, m = 0;

            //append signal
            for (int i = 0; i < 20; i++)
            {
                m = n + 5;
                var oneDim = new List <double>(5);
                for (; n < m; n++)
                {
                    oneDim.Add(n);
                }
                storageEngine.AppendSampleAsync(sig11.Id, new List <long> {
                    0
                }, oneDim).Wait();
            }
            n = m = 0;
            for (int i = 0; i < 20; i++)
            {
                m = n + 5;
                var oneDim = new List <double>(5);
                for (; n < m; n++)
                {
                    oneDim.Add(n);
                }
                storageEngine.AppendSampleAsync(sig11.Id, new List <long> {
                    1
                }, oneDim).Wait();
            }

            double[] assertresult1 = new double[50];
            for (int i = 46, j = 0; j < 50;)
            {
                assertresult1[j++] = i++;
            }

            var cursor             = storageEngine.GetCursorAsync <double>(sig11.Id, new List <long> {
                0, 46
            }, new List <long> {
                2, 60
            }).Result;
            List <double> result1 = cursor.Read(50).Result.ToList();

            CollectionAssert.AreEqual(assertresult1, result1);
            //var errorGetData = "";
            //try
            //{
            //    List<double> result1 = cursor.Read(5).Result.ToList();
            //}
            //catch (Exception e)
            //{
            //    errorGetData = e.InnerException.Message;
            //}
            //Assert.AreEqual(ErrorMessages.OutOfRangeError,errorGetData);

            var cursor1 = storageEngine.GetCursorAsync <double>(sig11.Id, new List <long> {
                0, 46
            }, new List <long> {
                2, 50
            }).Result;
            List <double> result2 = cursor1.Read(50).Result.ToList();

            CollectionAssert.AreEqual(assertresult1, result2);

            List <double> result3 = cursor1.Read(50).Result.ToList();

            CollectionAssert.AreEqual(assertresult1, result3);
        }