public virtual void TestCurrentForIEnumerator() { ITimeSeriesEntryCursor cursor = CreateCursor(); InsertAllDefaultEntries(); // get an IEnumerator over a time series IEnumerator enumerator = cursor; // check that it can move and retrieve an entry Assert.IsTrue(enumerator.MoveNext()); ITimeSeriesEntry timeSeriesEntry1 = (ITimeSeriesEntry)enumerator.Current; Assert.IsNotNull(timeSeriesEntry1); // check that the IEnumerator is a correct Cursor ITimeSeriesEntryCursor timeSeriesEntryCursor = enumerator as ITimeSeriesEntryCursor; Assert.IsNotNull(timeSeriesEntryCursor); Assert.IsNotNull(timeSeriesEntryCursor.Current); // check that the corresponding cursor gets the same entry ITimeSeriesEntry timeSeriesEntry2 = timeSeriesEntryCursor.Current; Assert.IsTrue(TimeSeriesComparisons.CompareTimeSeriesEntry(timeSeriesEntry1, timeSeriesEntry2)); // and that it is the same entry as retrieving it from a native cursor cursor.SetToStart(); cursor.MoveNext(); ITimeSeriesEntry timeSeriesEntry3 = cursor.Current; Assert.IsTrue(TimeSeriesComparisons.CompareTimeSeriesEntry(timeSeriesEntry2, timeSeriesEntry3)); }
public virtual void TestDoubleReset() { InsertDefaultEntryByIndex(0); IEnumerator <ITimeSeriesEntry> enumerator = CreateCursor(); enumerator.Reset(); Assert.IsTrue(enumerator.MoveNext()); ITimeSeriesEntry entry = enumerator.Current; enumerator.Reset(); Assert.IsTrue(enumerator.MoveNext()); Assert.IsTrue(TimeSeriesComparisons.CompareTimeSeriesEntry(entry, enumerator.Current)); }
public virtual void TestDoubleSetToEnd() { InsertDefaultEntryByIndex(0); ITimeSeriesEntryCursor cursor = CreateCursor(); cursor.SetToEnd(); Assert.IsNull(cursor.Current); Assert.IsTrue(cursor.MovePrevious()); ITimeSeriesEntry entry = cursor.Current; cursor.SetToEnd(); Assert.IsTrue(cursor.MovePrevious()); Assert.IsTrue(TimeSeriesComparisons.CompareTimeSeriesEntry(entry, cursor.Current)); }
public virtual void TestSetToStart() { InsertDefaultEntryByIndex(0); ITimeSeriesEntryCursor cursor = CreateCursor(); cursor.Reset(); Assert.IsNull(cursor.Current); Assert.IsTrue(cursor.MoveNext()); ITimeSeriesEntry entry = cursor.Current; cursor.SetToStart(); Assert.IsTrue(cursor.MoveNext()); Assert.IsTrue(TimeSeriesComparisons.CompareTimeSeriesEntry(entry, cursor.Current)); }
public virtual void TestCurrentBeforeStartOrBehindEnd() { ITimeSeriesEntryCursor cursor = CreateCursor(); InsertAllDefaultEntries(); cursor.SetToStart(); Assert.IsNull(cursor.Current); ITimeSeriesEntry timeSeriesEntry = cursor.Current; Assert.IsNull(timeSeriesEntry); cursor.SetToEnd(); Assert.IsNull(cursor.Current); timeSeriesEntry = cursor.Current; Assert.IsNull(timeSeriesEntry); }
public virtual void TestSeekTimeStampBehindEnd() { ITimeSeriesEntryCursor cursor = CreateCursor(); InsertAllDefaultEntries(); cursor.SetToEnd(); Assert.IsNull(cursor.Current); Assert.IsTrue(cursor.MovePrevious()); Assert.IsNotNull(cursor.Current); // remember the entry and get its timestamp ITimeSeriesEntry timeSeriesEntry = cursor.Current; DateTime timeStamp = timeSeriesEntry.TimeStamp; // try to seek behind the end; will result in pointing to the last entry (see documentation of Seek(TimeStamp)) Assert.IsTrue(cursor.Seek(timeStamp + new TimeSpan(100))); Assert.IsNotNull(cursor.Current); // check that we are indeed at the last entry Assert.IsTrue(TimeSeriesComparisons.CompareTimeSeriesEntry(timeSeriesEntry, cursor.Current)); }
/// <summary> /// Checks if the given TimeSeriesEntry has the same values as the default TimeSeriesEntry /// inserted at given entries timeStamp. /// </summary> protected abstract void CheckEntry(ITimeSeriesEntry entry);