blob: 6f94d5bec61700c2bb346c867b595b0059e1ab38 [file]
// $Id$
//
// Copyright 2007-2008 Cisco Systems Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License"); you may not
// use this file except in compliance with the License. You may obtain a copy
// of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
// License for the specific language governing permissions and limitations
// under the License.
using System;
using Etch.Support;
using NUnit.Framework;
using Etch.Msg;
namespace Etch.Support
{
[TestFixture]
public class TestValidators
{
[TestFixtureSetUp]
public void First()
{
Console.WriteLine();
Console.Write( "TestValidator" );
}
[Test]
public void Test_boolean()
{
Test( Validator_boolean.Get( 2 ), 2,
new Boolean[][] { new Boolean[] { false, false }, new Boolean[] { false, false } } );
Test( Validator_boolean.Get( 2 ), 2,
new Boolean[][] { new Boolean[] { true, true }, new Boolean[] { true, true } } );
}
[Test]
public void Test_SByte()
{
Test( Validator_byte.Get( 2 ), 2,
new SByte[][] { new SByte[] { 0, 0 }, new SByte[] { 0, 0 } } );
Test( Validator_byte.Get( 2 ), 2,
new SByte[][] { new SByte[] { 1, 1 }, new SByte[] { 1, 1 } } );
Test( Validator_byte.Get( 2 ), 2,
new SByte[][] { new SByte[] { -1, -1 }, new SByte[] { -1, -1 } } );
Test( Validator_byte.Get( 2 ), 2,
new SByte[][] { new SByte[] { SByte.MaxValue, SByte.MinValue }, new SByte[] { SByte.MaxValue, SByte.MinValue } } );
Test( Validator_byte.Get( 2 ), 2,
new SByte[][] { new SByte[] { SByte.MinValue, SByte.MinValue }, new SByte[] { SByte.MinValue, SByte.MinValue } } );
}
[Test]
public void Test_short()
{
Test( Validator_short.Get( 2 ), 2,
new short[][] { new short[] { 0, 0 }, new short[] { 0, 0 } } );
Test( Validator_short.Get( 2 ), 2,
new short[][] { new short[] { 1, 1 }, new short[] { 1, 1 } } );
Test( Validator_short.Get( 2 ), 2,
new short[][] { new short[] { -1, -1 }, new short[] { -1, -1 } } );
Test( Validator_short.Get( 2 ), 2,
new short[][] { new short[] { SByte.MaxValue, SByte.MaxValue }, new short[] { SByte.MaxValue, SByte.MaxValue } } );
Test( Validator_short.Get( 2 ), 2,
new short[][] { new short[] { SByte.MinValue, SByte.MinValue }, new short[] { SByte.MinValue, SByte.MinValue } } );
Test( Validator_short.Get( 2 ), 2,
new short[][] { new short[] { short.MaxValue, short.MaxValue }, new short[] { short.MaxValue, short.MaxValue } } );
Test( Validator_short.Get( 2 ), 2,
new short[][] { new short[] { short.MinValue, short.MinValue }, new short[] { short.MinValue, short.MinValue } } );
}
[Test]
public void Test_int()
{
Test( Validator_int.Get( 2 ), 2,
new int[][] { new int[] { 0, 0 }, new int[] { 0, 0 } } );
Test( Validator_int.Get( 2 ), 2,
new int[][] { new int[] { 1, 1 }, new int[] { 1, 1 } } );
Test( Validator_int.Get( 2 ), 2,
new int[][] { new int[] { -1, -1 }, new int[] { -1, -1 } } );
Test( Validator_int.Get( 2 ), 2,
new int[][] { new int[] { SByte.MaxValue, SByte.MaxValue }, new int[] { SByte.MaxValue, SByte.MaxValue } } );
Test( Validator_int.Get( 2 ), 2,
new int[][] { new int[] { SByte.MinValue, SByte.MinValue }, new int[] { SByte.MinValue, SByte.MinValue } } );
Test( Validator_int.Get( 2 ), 2,
new int[][] { new int[] { short.MaxValue, short.MaxValue }, new int[] { short.MaxValue, short.MaxValue } } );
Test( Validator_int.Get( 2 ), 2,
new int[][] { new int[] { short.MinValue, short.MinValue }, new int[] { short.MinValue, short.MinValue } } );
Test( Validator_int.Get( 2 ), 2,
new int[][] { new int[] { int.MaxValue, int.MaxValue }, new int[] { int.MaxValue, int.MaxValue} } );
Test( Validator_int.Get( 2 ), 2,
new int[][] { new int[] { int.MinValue, int.MinValue }, new int[] { int.MinValue, int.MinValue } } );
}
[Test]
public void Test_long()
{
Test( Validator_long.Get( 2 ), 2,
new long[][] { new long[] { 0, 0 }, new long[] { 0, 0 } } );
Test( Validator_long.Get( 2 ), 2,
new long[][] { new long[] { 1, 1 }, new long[] { 1, 1 } } );
Test( Validator_long.Get( 2 ), 2,
new long[][] { new long[] { -1, -1 }, new long[] { -1, -1 } } );
Test( Validator_long.Get( 2 ), 2,
new long[][] { new long[] { SByte.MaxValue, SByte.MaxValue }, new long[] { SByte.MaxValue, SByte.MaxValue } } );
Test( Validator_long.Get( 2 ), 2,
new long[][] { new long[] { SByte.MinValue, SByte.MinValue }, new long[] { SByte.MinValue, SByte.MinValue } } );
Test( Validator_long.Get( 2 ), 2,
new long[][] { new long[] { short.MaxValue, short.MaxValue }, new long[] { short.MaxValue, short.MaxValue } } );
Test( Validator_long.Get( 2 ), 2,
new long[][] { new long[] { short.MinValue, short.MinValue }, new long[] { short.MinValue, short.MinValue } } );
Test( Validator_long.Get( 2 ), 2,
new long[][] { new long[] { int.MaxValue, int.MaxValue }, new long[] { int.MaxValue, int.MaxValue } } );
Test( Validator_long.Get( 2 ), 2,
new long[][] { new long[] { int.MinValue, int.MinValue }, new long[] { int.MinValue, int.MinValue } } );
Test( Validator_long.Get( 2 ), 2,
new long[][] { new long[] { long.MaxValue, long.MaxValue }, new long[] { long.MaxValue, long.MaxValue } } );
Test( Validator_long.Get( 2 ), 2,
new long[][] { new long[] { long.MinValue, long.MinValue }, new long[] { long.MinValue, long.MinValue } } );
}
[Test]
public void Test_float()
{
Test( Validator_float.Get( 2 ), 2,
new float[][] { new float[] { 0, 0 }, new float[] { 0, 0 } } );
Test( Validator_float.Get( 2 ), 2,
new float[][] { new float[] { 1, 1 }, new float[] { 1, 1 } } );
Test( Validator_float.Get( 2 ), 2,
new float[][] { new float[] { -1, -1 }, new float[] { -1, -1 } } );
Test( Validator_float.Get( 2 ), 2,
new float[][] { new float[] { float.MaxValue, float.MaxValue }, new float[] { float.MaxValue, float.MaxValue } } );
Test( Validator_float.Get( 2 ), 2,
new float[][] { new float[] { float.MinValue, float.MinValue }, new float[] { float.MinValue, float.MinValue } } );
}
[Test]
public void Test_double()
{
Test( Validator_double.Get( 2 ), 2,
new double[][] { new double[] { 0, 0 }, new double[] { 0, 0 } } );
Test( Validator_double.Get( 2 ), 2,
new double[][] { new double[] { 1, 1 }, new double[] { 1, 1 } } );
Test( Validator_double.Get( 2 ), 2,
new double[][] { new double[] { -1, -1 }, new double[] { -1, -1 } } );
Test( Validator_double.Get( 2 ), 2,
new double[][] { new double[] { Double.MaxValue, Double.MaxValue }, new double[] { Double.MaxValue, Double.MaxValue } } );
Test( Validator_double.Get( 2 ), 2,
new double[][] { new double[] { Double.MinValue, Double.MinValue }, new double[] { Double.MinValue, Double.MinValue } } );
}
[Test]
public void Test_string()
{
Test( Validator_string.Get( 2 ), 2,
new String[][] { new String[] { "", "" }, new String[] { "", "" } } );
Test( Validator_string.Get( 2 ), 2,
new String[][] { new String[] { "abc", "abc" }, new String[] { "abc", "abc" } } );
}
[Test]
public void Test_custom()
{
Test( Validator_custom.Get( typeof( DateTime ), 2 ,false), 2,
new DateTime[][] { new DateTime[] { new DateTime(), new DateTime() }, new DateTime[] { new DateTime(), new DateTime() } } );
}
private void Test( Validator v, int n, Object o )
{
// System.out.printf( "Testing with %s\n", v );
// Assert.assertEquals( n, v.GetDim() );
Assert.IsTrue( v.Validate( o ) );
if (n > 0)
{
int k = ( ( Array ) o ).Length;
for ( int i = 0; i < k; i++ )
Test( v.ElementValidator(), n-1, ( ( Array ) o ).GetValue( i ) );
}
}
}
}