private void TestDataSet(long[] timeArray, double[] dataArray, int maxNum) { Assert.Equal(timeArray.Length, dataArray.Length); var time = new TableTimeIndex("time", new Task <long[]>(() => timeArray), true, "test:/time", "t"); var data = new GenericColumn <double>("acc_x", new Task <double[]>(() => dataArray), time, "test/acc", "a"); var tsc = new TimeSynchronizedContext(); tsc.SetSynchronizedToWorldClock(false); var dataViewerTask = tsc.GetDataViewerFor(data); dataViewerTask.Wait(); var viewer = dataViewerTask.Result as ITimeSeriesViewer; Assert.NotNull(viewer); viewer.PreviewPercentage = 0; var startTime = timeArray[0]; Assert.Equal(0, tsc.AvailableTimeFrom); Assert.Equal(timeArray.Last() - startTime, tsc.AvailableTimeTo); tsc.SetSelectedTimeRange(tsc.AvailableTimeFrom, tsc.AvailableTimeTo); var dataView = viewer.GetCurrentData <double>(); var en = dataView.GetEnumerator(maxNum); var count = 0; Assert.True(en.MoveNext()); count++; Assert.Equal(timeArray.First(), en.Current.x); Assert.Equal(dataArray.First(), en.Current.y); while (en.MoveNext()) { count++; } Assert.Equal(timeArray.Last(), en.Current.x); Assert.Equal(dataArray.Last(), en.Current.y); if (maxNum > 0) { Assert.InRange(count, maxNum, maxNum + 2); } else { Assert.Equal(count, timeArray.Length); } }
static void TestGenericColumn() { GenericColumn <int> ti = new GenericColumn <int>("TInt"); GenericColumn <int?> tin = new GenericColumn <int?>("TIntN"); MSSQLDataBase db = new MSSQLDataBase("User Id=bpi;Password=yuantacps;Data Source=TS03"); DataTable dt = db.QueryCommand("SELECT NULL as TInt, NULL as TIntN FROM ptUnitTrader"); DataRow dr = dt.Rows[0]; ti.FillData(dr); tin.FillData(dr); bool isSupportNull = true; string s1 = dr.IsNull("TInt") ? (isSupportNull ? null : "default") : dr["TInt"].ToString(); }