1- // (c) gfoidl, all rights reserved
1+ // (c) gfoidl, all rights reserved
22
33using System ;
44using System . Collections . Generic ;
@@ -60,7 +60,7 @@ public void Empty_IEnumerable_foreach___empty_result()
6060 public void Empty_Array___empty_result ( )
6161 {
6262 var sut = new DeadBandCompression ( 0.1 ) ;
63- var data = new DataPoint [ 0 ] ;
63+ var data = Array . Empty < DataPoint > ( ) ;
6464 var iterator = sut . Process ( data ) . GetEnumerator ( ) ;
6565
6666 Assert . IsFalse ( iterator . MoveNext ( ) ) ;
@@ -72,7 +72,7 @@ public void Known_sequence___correct_result()
7272 var sut = new DeadBandCompression ( 0.1 ) ;
7373 var data = KnownSequence ( ) ;
7474 var iterator = sut . Process ( data ) . GetEnumerator ( ) ;
75- var expected = KnownSequence ( ) . ToArray ( ) ;
75+ var expected = KnownSequenceExpected ( swingingDoor : false ) . ToArray ( ) ;
7676
7777 Assert . Multiple ( ( ) =>
7878 {
@@ -86,6 +86,12 @@ public void Known_sequence___correct_result()
8686 Assert . IsTrue ( iterator . MoveNext ( ) , $ "MoveNext step: { step } ") ;
8787 Assert . AreEqual ( expected [ step ] , iterator . Current , $ "Equal step: { step } ") ;
8888 step ++ ;
89+ Assert . IsTrue ( iterator . MoveNext ( ) , $ "MoveNext step: { step } ") ;
90+ Assert . AreEqual ( expected [ step ] , iterator . Current , $ "Equal step: { step } ") ;
91+ step ++ ;
92+ Assert . IsTrue ( iterator . MoveNext ( ) , $ "MoveNext step: { step } ") ;
93+ Assert . AreEqual ( expected [ step ] , iterator . Current , $ "Equal step: { step } ") ;
94+ step ++ ;
8995 Assert . IsFalse ( iterator . MoveNext ( ) , $ "MoveNext step: { step ++ } ") ;
9096 } ) ;
9197 }
@@ -96,7 +102,7 @@ public void Known_sequence_as_array___correct_result()
96102 var sut = new DeadBandCompression ( 0.1 ) ;
97103 var data = KnownSequence ( ) . ToArray ( ) ;
98104 var iterator = sut . Process ( data ) . GetEnumerator ( ) ;
99- var expected = KnownSequence ( ) . ToArray ( ) ;
105+ var expected = KnownSequenceExpected ( swingingDoor : false ) . ToArray ( ) ;
100106
101107 Assert . Multiple ( ( ) =>
102108 {
@@ -110,6 +116,12 @@ public void Known_sequence_as_array___correct_result()
110116 Assert . IsTrue ( iterator . MoveNext ( ) , $ "MoveNext step: { step } ") ;
111117 Assert . AreEqual ( expected [ step ] , iterator . Current , $ "Equal step: { step } ") ;
112118 step ++ ;
119+ Assert . IsTrue ( iterator . MoveNext ( ) , $ "MoveNext step: { step } ") ;
120+ Assert . AreEqual ( expected [ step ] , iterator . Current , $ "Equal step: { step } ") ;
121+ step ++ ;
122+ Assert . IsTrue ( iterator . MoveNext ( ) , $ "MoveNext step: { step } ") ;
123+ Assert . AreEqual ( expected [ step ] , iterator . Current , $ "Equal step: { step } ") ;
124+ step ++ ;
113125 Assert . IsFalse ( iterator . MoveNext ( ) , $ "MoveNext step: { step ++ } ") ;
114126 } ) ;
115127 }
@@ -120,7 +132,7 @@ public void Known_sequence_foreach___correct_result()
120132 var sut = new DeadBandCompression ( 0.1 ) ;
121133 var data = KnownSequence ( ) ;
122134 var result = sut . Process ( data ) ;
123- var expected = KnownSequence ( ) . ToList ( ) ;
135+ var expected = KnownSequenceExpected ( swingingDoor : false ) . ToArray ( ) ;
124136 var actual = new List < DataPoint > ( ) ;
125137
126138 foreach ( DataPoint dp in result )
@@ -135,6 +147,88 @@ public void Known_sequence_as_array_foreach___correct_result()
135147 var sut = new DeadBandCompression ( 0.1 ) ;
136148 var data = KnownSequence ( ) . ToArray ( ) ;
137149 var result = sut . Process ( data ) ;
150+ var expected = KnownSequenceExpected ( swingingDoor : false ) . ToArray ( ) ;
151+ var actual = new List < DataPoint > ( ) ;
152+
153+ foreach ( DataPoint dp in result )
154+ actual . Add ( dp ) ;
155+
156+ CollectionAssert . AreEqual ( expected , actual ) ;
157+ }
158+ //---------------------------------------------------------------------
159+ [ Test ]
160+ public void Known_sequence_ToArray___correct_result ( )
161+ {
162+ var sut = new DeadBandCompression ( 0.1 ) ;
163+ var data = KnownSequence ( ) ;
164+ var result = sut . Process ( data ) ;
165+ var expected = KnownSequenceExpected ( swingingDoor : false ) . ToArray ( ) ;
166+
167+ var actual = result . ToArray ( ) ;
168+
169+ CollectionAssert . AreEqual ( expected , actual ) ;
170+ }
171+ //---------------------------------------------------------------------
172+ [ Test ]
173+ public void Known_sequence_with_constant_part_foreach____correct_result ( )
174+ {
175+ var sut = new DeadBandCompression ( 0.1 ) ;
176+ var data = KnownSequenceWithConstantPart ( ) ;
177+ var result = sut . Process ( data ) ;
178+ var expected = KnownSequenceWithConstantPartExpected ( swingingDoor : false ) . ToArray ( ) ;
179+ var actual = new List < DataPoint > ( ) ;
180+
181+ foreach ( DataPoint dp in result )
182+ actual . Add ( dp ) ;
183+
184+ CollectionAssert . AreEqual ( expected , actual ) ;
185+ }
186+ //---------------------------------------------------------------------
187+ [ Test ]
188+ public void Known_sequence_with_constant_part_ToArray____correct_result ( )
189+ {
190+ var sut = new DeadBandCompression ( 0.1 ) ;
191+ var data = KnownSequenceWithConstantPart ( ) ;
192+ var result = sut . Process ( data ) ;
193+ var expected = KnownSequenceWithConstantPartExpected ( swingingDoor : false ) . ToArray ( ) ;
194+
195+ var actual = result . ToArray ( ) ;
196+
197+ CollectionAssert . AreEqual ( expected , actual ) ;
198+ }
199+ //---------------------------------------------------------------------
200+ [ Test ]
201+ public void InstrumentPrecision_0___input_echoed ( )
202+ {
203+ var sut = new DeadBandCompression ( 0 ) ;
204+ var data = KnownSequence ( ) ;
205+ var result = sut . Process ( data ) ;
206+ var expected = KnownSequence ( ) . ToArray ( ) ;
207+
208+ var actual = result . ToArray ( ) ;
209+
210+ CollectionAssert . AreEqual ( expected , actual ) ;
211+ }
212+ //---------------------------------------------------------------------
213+ [ Test ]
214+ public void InstrumentPrecision_0_as_array___input_echoed ( )
215+ {
216+ var sut = new DeadBandCompression ( 0 ) ;
217+ var data = KnownSequence ( ) . ToArray ( ) ;
218+ var result = sut . Process ( data ) ;
219+ var expected = KnownSequence ( ) . ToArray ( ) ;
220+
221+ var actual = result . ToArray ( ) ;
222+
223+ CollectionAssert . AreEqual ( expected , actual ) ;
224+ }
225+ //---------------------------------------------------------------------
226+ [ Test ]
227+ public void InstrumentPrecision_0_as_array_foreach___input_echoed ( )
228+ {
229+ var sut = new DeadBandCompression ( 0 ) ;
230+ var data = KnownSequence ( ) . ToArray ( ) ;
231+ var result = sut . Process ( data ) ;
138232 var expected = KnownSequence ( ) . ToArray ( ) ;
139233 var actual = new List < DataPoint > ( ) ;
140234
0 commit comments