public Boolean TestCaseRoutine()
{
Boolean bToReturn = true;
String sLoc="Loc_gub200";
Array aAsArray;
Int32
aa
,iCountCatches = 0
,iFoundIdx
,iSourceIdx;
short[] i16Arr = { Int16.MinValue ,-12345 ,-2 ,-1,-1 ,0 ,1 ,2 ,12345 ,Int16.MaxValue };
short[] i16DescArr = { Int16.MaxValue ,12345 ,2 ,1,1 ,0 ,-1 ,-2 ,-12345 ,Int16.MinValue };
int[] i32Arr = { Int32.MinValue ,-12345 ,-2 ,-1 ,0 ,1 ,2 ,12345 ,Int32.MaxValue} ;
long[] i64Arr = { Int64.MinValue ,Int64.MinValue ,-654321,-12345 ,-2 ,-1 ,0 ,1 ,2 ,12345 ,654321 ,Int64.MaxValue ,Int64.MaxValue };
double[] f8Arr1 = { Double.NegativeInfinity ,Double.MinValue ,-Double.Epsilon ,(double)0.0 ,(double)0.0 ,Double.Epsilon ,Double.MaxValue ,Double.PositiveInfinity };
double[] f8Arr2 = { Double.NaN };
double[] f8Arr3 = { };
UIntPtr[] uipArr = { new UIntPtr((UInt32)0) ,new UIntPtr((UInt32)654321) ,new UIntPtr((UInt32)654321) ,new UIntPtr((UInt32)987654321) };
sLoc="Loc_gub210";
try
{
aAsArray = Array.CreateInstance( typeof( short ) ,i16Arr.Length );
for ( aa=0 ;aa<i16Arr.Length ;aa++ )
{
aAsArray.SetValue( (short)i16Arr[aa] ,aa );
}
sLoc="Loc_gub220";
for ( aa=0 ;aa<i16Arr.Length ;aa++ )
{
iSourceIdx = aa;
iFoundIdx = Array.BinarySearch
(
i16Arr
,0 ,i16Arr.Length
,(short)i16Arr[iSourceIdx] );
sLoc="Loc_gub230";
if ( (short)i16Arr[iFoundIdx] != (short)i16Arr[iSourceIdx] )
{
bToReturn = false;
Console.WriteLine( "Error_gub321: i16Arr ,"
+ "iSourceIdx=="
+ iSourceIdx.ToString() +" ,iFoundIdx=="
+ iFoundIdx.ToString() );
}
sLoc="Loc_gub240";
iFoundIdx = Array.BinarySearch
(
aAsArray
,0 ,aAsArray.Length
,(short)( aAsArray.GetValue( iSourceIdx ) )
);
sLoc="Loc_gub250";
if ( (short)aAsArray.GetValue(iFoundIdx) != (short)aAsArray.GetValue(iSourceIdx) )
{
bToReturn = false;
Console.WriteLine( "Error_gub456: aAsArray-i16Arr ,"
+ "iSourceIdx=="
+ iSourceIdx.ToString() +" ,iFoundIdx=="
+ iFoundIdx.ToString() );
}
sLoc="Loc_gub260";
}
aAsArray = Array.CreateInstance( typeof( short ) ,i16DescArr.Length );
for ( aa=0 ;aa<i16DescArr.Length ;aa++ )
{
aAsArray.SetValue( (short)i16DescArr[aa] ,aa );
}
iCountCatches = 0;
for ( aa=0 ;aa<i16DescArr.Length ;aa++ )
{
iSourceIdx = aa;
try
{
iFoundIdx = Array.BinarySearch
(
i16DescArr
,0 ,i16DescArr.Length
,(short)i16DescArr[iSourceIdx] );
if ( (short)i16DescArr[iFoundIdx] != (short)i16DescArr[iSourceIdx] )
{
bToReturn = false;
Console.WriteLine( "Error_sot321: i16DescArr ,"
+ "iSourceIdx=="
+ iSourceIdx.ToString() +" ,iFoundIdx=="
+ iFoundIdx.ToString() );
}
}catch( IndexOutOfRangeException )
{ ++iCountCatches; }
sLoc="Loc_sot310";
try
{
iFoundIdx = Array.BinarySearch
(
aAsArray
,0 ,aAsArray.Length
,(short)( aAsArray.GetValue( iSourceIdx ) )
);
if ( (short)aAsArray.GetValue(iFoundIdx) != (short)aAsArray.GetValue(iSourceIdx) )
{
bToReturn = false;
Console.WriteLine( "Error_sot456: aAsArray-i16DescArr ,"
+ "iSourceIdx=="
+ iSourceIdx.ToString() +" ,iFoundIdx=="
+ iFoundIdx.ToString() );
}
}catch( IndexOutOfRangeException )
{ ++iCountCatches; }
}
if ( iCountCatches <= 0 )
{
bToReturn = false;
Console.WriteLine( "Error_sot436: Expected exception not thrown, for Desc sort?" );
}
aAsArray = Array.CreateInstance( typeof( long ) ,i64Arr.Length );
for ( aa=0 ;aa<i64Arr.Length ;aa++ )
{
aAsArray.SetValue( (long)i64Arr[aa] ,aa );
}
for ( aa=0 ;aa<i64Arr.Length ;aa++ )
{
iSourceIdx = aa;
iFoundIdx = Array.BinarySearch
(
i64Arr
,0 ,i64Arr.Length
,(long)i64Arr[iSourceIdx] );
if ( (long)i64Arr[iFoundIdx] != (long)i64Arr[iSourceIdx] )
{
bToReturn = false;
Console.WriteLine( "Error_zek321: i64Arr ,"
+ "iSourceIdx=="
+ iSourceIdx.ToString() +" ,iFoundIdx=="
+ iFoundIdx.ToString() );
}
sLoc="Loc_zek310";
iFoundIdx = Array.BinarySearch
(
aAsArray
,0 ,aAsArray.Length
,(long)( aAsArray.GetValue( iSourceIdx ) )
);
if ( (long)aAsArray.GetValue(iFoundIdx) != (long)aAsArray.GetValue(iSourceIdx) )
{
bToReturn = false;
Console.WriteLine( "Error_zek456: aAsArray-i64Arr ,"
+ "iSourceIdx=="
+ iSourceIdx.ToString() +" ,iFoundIdx=="
+ iFoundIdx.ToString() );
}
}
aAsArray = Array.CreateInstance( typeof( UIntPtr ) ,uipArr.Length );
for ( aa=0 ;aa<uipArr.Length ;aa++ )
{
aAsArray.SetValue( (UIntPtr)uipArr[aa] ,aa );
}
sLoc="Loc_pit230";
aAsArray = Array.CreateInstance( typeof( double ) ,f8Arr1.Length );
for ( aa=0 ;aa<f8Arr1.Length ;aa++ )
{
aAsArray.SetValue( (double)f8Arr1[aa] ,aa );
}
for ( aa=0 ;aa<f8Arr1.Length ;aa++ )
{
iSourceIdx = aa;
iFoundIdx = Array.BinarySearch
(
f8Arr1
,0 ,f8Arr1.Length
,(double)f8Arr1[iSourceIdx] );
if ( (double)f8Arr1[iFoundIdx] != (double)f8Arr1[iSourceIdx] )
{
bToReturn = false;
Console.WriteLine( "Error_dib321: f8Arr1 ,"
+ "iSourceIdx=="
+ iSourceIdx.ToString() +" ,iFoundIdx=="
+ iFoundIdx.ToString() );
}
sLoc="Loc_dib310";
iFoundIdx = Array.BinarySearch
(
aAsArray
,0 ,aAsArray.Length
,(double)( aAsArray.GetValue( iSourceIdx ) )
);
if ( (double)aAsArray.GetValue(iFoundIdx) != (double)aAsArray.GetValue(iSourceIdx) )
{
bToReturn = false;
Console.WriteLine( "Error_dib456: aAsArray-f8Arr1 ,"
+ "iSourceIdx=="
+ iSourceIdx.ToString() +" ,iFoundIdx=="
+ iFoundIdx.ToString() );
}
}
aAsArray = Array.CreateInstance( typeof( double ) ,f8Arr2.Length );
for ( aa=0 ;aa<f8Arr2.Length ;aa++ )
{
aAsArray.SetValue( (double)f8Arr2[aa] ,aa );
}
for ( aa=0 ;aa<f8Arr2.Length ;aa++ )
{
iSourceIdx = aa;
iFoundIdx = Array.BinarySearch
(
f8Arr2
,0 ,f8Arr2.Length
,(double)f8Arr2[iSourceIdx] );
if ( (double)f8Arr2[iFoundIdx] != (double)f8Arr2[iSourceIdx] )
{
if ( ! Double.IsNaN( (double)f8Arr2[iSourceIdx] ) )
{
bToReturn = false;
Console.WriteLine( "Error_fad321: f8Arr2 ,"
+ "iSourceIdx=="
+ iSourceIdx.ToString() +" ,iFoundIdx=="
+ iFoundIdx.ToString() );
}
}
sLoc="Loc_fad310";
iFoundIdx = Array.BinarySearch
(
aAsArray
,0 ,aAsArray.Length
,(double)( aAsArray.GetValue( iSourceIdx ) )
);
if ( (double)aAsArray.GetValue(iFoundIdx) != (double)aAsArray.GetValue(iSourceIdx) )
{
if ( ! Double.IsNaN( (double)aAsArray.GetValue(iSourceIdx) ) )
{
bToReturn = false;
Console.WriteLine( "Error_fad456: aAsArray-f8Arr2 ,"
+ "iSourceIdx=="
+ iSourceIdx.ToString() +" ,iFoundIdx=="
+ iFoundIdx.ToString() );
}
}
}
aAsArray = Array.CreateInstance( typeof( double ) ,f8Arr3.Length );
for ( aa=0 ;aa<f8Arr3.Length ;aa++ )
{
aAsArray.SetValue( (double)f8Arr3[aa] ,aa );
}
for ( aa=0 ;aa<f8Arr3.Length ;aa++ )
{
iSourceIdx = aa;
iFoundIdx = Array.BinarySearch
(
f8Arr3
,0 ,f8Arr3.Length
,(double)f8Arr3[iSourceIdx] );
if ( (double)f8Arr3[iFoundIdx] != (double)f8Arr3[iSourceIdx] )
{
bToReturn = false;
Console.WriteLine( "Error_wex321: f8Arr3 ,"
+ "iSourceIdx=="
+ iSourceIdx.ToString() +" ,iFoundIdx=="
+ iFoundIdx.ToString() );
}
sLoc="Loc_wex310";
iFoundIdx = Array.BinarySearch
(
aAsArray
,0 ,aAsArray.Length
,(double)( aAsArray.GetValue( iSourceIdx ) )
);
if ( (double)aAsArray.GetValue(iFoundIdx) != (double)aAsArray.GetValue(iSourceIdx) )
{
bToReturn = false;
Console.WriteLine( "Error_wex456: aAsArray-f8Arr3 ,"
+ "iSourceIdx=="
+ iSourceIdx.ToString() +" ,iFoundIdx=="
+ iFoundIdx.ToString() );
}
}
}
catch ( Exception exc839 )
{
bToReturn = false;
Console.WriteLine( "Error_wib204: Unexpected Exception near sLoc="+ sLoc );
Console.WriteLine( exc839.ToString() );
}
return bToReturn;
}
internal static readonly Char[] M_cArr = {'j', 'i', 'h', 'g', 'f', 'e', 'd', 'c', 'b', 'a'};