blob: 8b95f4d3d361a5c71de1dc4c7df0e3c792eb392b [file] [log] [blame]
// $Id$
//
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you 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 NUnit.Framework;
namespace Org.Apache.Etch.Bindings.Csharp.Util
{
[TestFixture]
public class TestStringUtil
{
[TestFixtureSetUp]
public void First()
{
Console.WriteLine();
Console.Write( "TestStringUtil" );
}
#region LEFT SPLIT TESTS
[Test]
public void TestSimpleLeftSplit()
{
String test = "Hello: World";
String[] s = StringUtil.LeftSplit( test, ':' );
Assert.AreEqual( "Hello", s[ 0 ] );
Assert.AreEqual( " World", s[ 1 ] );
}
[Test]
public void TestMultipleLeftSplit()
{
String test = "Hello: World: Second";
String[] s = StringUtil.LeftSplit( test, ':' );
Assert.AreEqual( "Hello", s[ 0 ] );
Assert.AreEqual( " World: Second", s[ 1 ] );
}
[Test]
public void TestNoDelimsLeftSplit()
{
String test = "Hello World";
String[] s = StringUtil.LeftSplit( test, ':' );
Assert.IsNull( s );
}
#endregion
#region RIGHT SPLIT TESTS
[Test]
public void TestSimpleRightSplit()
{
String test = "Hello: World";
String[] s = StringUtil.RightSplit( test, ':' );
Assert.AreEqual( "Hello", s[ 0 ] );
Assert.AreEqual( " World", s[ 1 ] );
}
[Test]
public void TestMultipleRightSplit()
{
String test = "Hello: World: Second";
String[] s = StringUtil.RightSplit( test, ':' );
Assert.AreEqual( "Hello: World", s[ 0 ] );
Assert.AreEqual( " Second", s[ 1 ] );
}
[Test]
public void TestNoDelimsRightSplit()
{
String test = "Hello World";
String[] s = StringUtil.RightSplit( test, ':' );
Assert.IsNull( s );
}
#endregion
#region TOHEX TESTS
[Test]
public void TestToHex_validArgs()
{
Assert.AreEqual( '0', StringUtil.ToHex( 0 ) );
Assert.AreEqual( '1', StringUtil.ToHex( 1 ) );
Assert.AreEqual( '2', StringUtil.ToHex( 2 ) );
Assert.AreEqual( '3', StringUtil.ToHex( 3 ) );
Assert.AreEqual( '4', StringUtil.ToHex( 4 ) );
Assert.AreEqual( '5', StringUtil.ToHex( 5 ) );
Assert.AreEqual( '6', StringUtil.ToHex( 6 ) );
Assert.AreEqual( '7', StringUtil.ToHex( 7 ) );
Assert.AreEqual( '8', StringUtil.ToHex( 8 ) );
Assert.AreEqual( '9', StringUtil.ToHex( 9 ) );
Assert.AreEqual( 'a', StringUtil.ToHex( 10 ) );
Assert.AreEqual( 'b', StringUtil.ToHex( 11 ) );
Assert.AreEqual( 'c', StringUtil.ToHex( 12 ) );
Assert.AreEqual( 'd', StringUtil.ToHex( 13 ) );
Assert.AreEqual( 'e', StringUtil.ToHex( 14 ) );
Assert.AreEqual( 'f', StringUtil.ToHex( 15 ) );
}
[Test]
[ExpectedException(typeof(ArgumentException))]
public void TestToHex_invalidArg()
{
StringUtil.ToHex( 16 );
}
#endregion
#region FROMHEX TESTS
public void TestFromHex()
{
Assert.AreEqual( 0, StringUtil.FromHex( '0' ) );
Assert.AreEqual( 1, StringUtil.FromHex( '1' ) );
Assert.AreEqual( 2, StringUtil.FromHex( '2' ) );
Assert.AreEqual( 3, StringUtil.FromHex( '3' ) );
Assert.AreEqual( 4, StringUtil.FromHex( '4' ) );
Assert.AreEqual( 5, StringUtil.FromHex( '5' ) );
Assert.AreEqual( 6, StringUtil.FromHex( '6' ) );
Assert.AreEqual( 7, StringUtil.FromHex( '7' ) );
Assert.AreEqual( 8, StringUtil.FromHex( '8' ) );
Assert.AreEqual( 9, StringUtil.FromHex( '9' ) );
Assert.AreEqual( 10, StringUtil.FromHex( 'a' ) );
Assert.AreEqual( 11, StringUtil.FromHex( 'b' ) );
Assert.AreEqual( 12, StringUtil.FromHex( 'c' ) );
Assert.AreEqual( 13, StringUtil.FromHex( 'd' ) );
Assert.AreEqual( 14, StringUtil.FromHex( 'e' ) );
Assert.AreEqual( 15, StringUtil.FromHex( 'f' ) );
}
[Test]
[ExpectedException(typeof(ArgumentException))]
public void TestFromHex_invalid()
{
StringUtil.FromHex( 'g' );
}
#endregion
}
}