git-svn-id: https://svn.code.sf.net/p/flaim/code/trunk@911 0109f412-320b-0410-ab79-c3e0c5ffbbe6
155 lines
4.6 KiB
C#
155 lines
4.6 KiB
C#
//------------------------------------------------------------------------------
|
|
// Desc: Settings tests
|
|
//
|
|
// Tabs: 3
|
|
//
|
|
// Copyright (c) 2006 Novell, Inc. All Rights Reserved.
|
|
//
|
|
// This program is free software; you can redistribute it and/or
|
|
// modify it under the terms of version 2 of the GNU General Public
|
|
// License as published by the Free Software Foundation.
|
|
//
|
|
// This program is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
// GNU General Public License for more details.
|
|
//
|
|
// You should have received a copy of the GNU General Public License
|
|
// along with this program; if not, contact Novell, Inc.
|
|
//
|
|
// To contact Novell about this file by physical or electronic mail,
|
|
// you may find current contact information at www.novell.com
|
|
//
|
|
// $Id$
|
|
//------------------------------------------------------------------------------
|
|
|
|
using System;
|
|
using System.IO;
|
|
using System.Runtime.InteropServices;
|
|
using xflaim;
|
|
|
|
namespace cstest
|
|
{
|
|
|
|
//--------------------------------------------------------------------------
|
|
// String comparison tests.
|
|
//--------------------------------------------------------------------------
|
|
public class CompareStringTests : Tester
|
|
{
|
|
|
|
private bool compareStrTest(
|
|
string sLeftStr,
|
|
bool bLeftWild,
|
|
string sRightStr,
|
|
bool bRightWild,
|
|
CompareFlags compareFlags,
|
|
bool bExpectedEqual,
|
|
DbSystem dbSystem)
|
|
{
|
|
int iCmp;
|
|
|
|
beginTest( "Compare Strings, Str1: \"" + sLeftStr +
|
|
"\", Str2: \"" + sRightStr + "\"");
|
|
|
|
try
|
|
{
|
|
iCmp = dbSystem.compareStrings( sLeftStr, bLeftWild,
|
|
sRightStr, bRightWild, compareFlags,
|
|
Languages.FLM_US_LANG);
|
|
}
|
|
catch (XFlaimException ex)
|
|
{
|
|
endTest( false, ex, "calling compareStrings");
|
|
return( false);
|
|
}
|
|
if ((bExpectedEqual && iCmp != 0) ||
|
|
(!bExpectedEqual && iCmp == 0))
|
|
{
|
|
endTest( false, false);
|
|
System.Console.WriteLine( "Expected Equal [{0}] != Result [{1}]",
|
|
bExpectedEqual, iCmp);
|
|
System.Console.WriteLine( "Compare Flags: {0}", compareFlags);
|
|
System.Console.WriteLine( "Left Wild: {0}", bLeftWild);
|
|
System.Console.WriteLine( "Right Wild: {0}", bRightWild);
|
|
}
|
|
endTest( false, true);
|
|
|
|
return( true);
|
|
}
|
|
|
|
public bool compareStringTests(
|
|
DbSystem dbSystem)
|
|
{
|
|
if (!compareStrTest( "ABC", false, "abc", false, CompareFlags.FLM_COMP_CASE_INSENSITIVE, true, dbSystem))
|
|
{
|
|
return( false);
|
|
}
|
|
if (!compareStrTest( "ABC", false, "abc", false, 0, false, dbSystem))
|
|
{
|
|
return( false);
|
|
}
|
|
if (!compareStrTest( "ab cd", false, "ab cd", false, CompareFlags.FLM_COMP_COMPRESS_WHITESPACE, true, dbSystem))
|
|
{
|
|
return( false);
|
|
}
|
|
if (!compareStrTest( " ab cd", false, "ab cd", false, CompareFlags.FLM_COMP_COMPRESS_WHITESPACE, false, dbSystem))
|
|
{
|
|
return( false);
|
|
}
|
|
if (!compareStrTest( " ab cd", false, "ab cd", false,
|
|
CompareFlags.FLM_COMP_COMPRESS_WHITESPACE | CompareFlags.FLM_COMP_IGNORE_LEADING_SPACE,
|
|
true, dbSystem))
|
|
{
|
|
return( false);
|
|
}
|
|
if (!compareStrTest( " ab cd", false, " ab cd", false,
|
|
CompareFlags.FLM_COMP_COMPRESS_WHITESPACE | CompareFlags.FLM_COMP_IGNORE_LEADING_SPACE,
|
|
true, dbSystem))
|
|
{
|
|
return( false);
|
|
}
|
|
if (!compareStrTest( " ab cd ", false, " ab cd", false,
|
|
CompareFlags.FLM_COMP_COMPRESS_WHITESPACE | CompareFlags.FLM_COMP_IGNORE_LEADING_SPACE,
|
|
false, dbSystem))
|
|
{
|
|
return( false);
|
|
}
|
|
if (!compareStrTest( " ab cd ", false, " ab cd", false,
|
|
CompareFlags.FLM_COMP_COMPRESS_WHITESPACE |
|
|
CompareFlags.FLM_COMP_IGNORE_LEADING_SPACE |
|
|
CompareFlags.FLM_COMP_IGNORE_TRAILING_SPACE,
|
|
true, dbSystem))
|
|
{
|
|
return( false);
|
|
}
|
|
if (!compareStrTest( " ab cd ", false, " ab cd ", false,
|
|
CompareFlags.FLM_COMP_COMPRESS_WHITESPACE |
|
|
CompareFlags.FLM_COMP_IGNORE_LEADING_SPACE |
|
|
CompareFlags.FLM_COMP_IGNORE_TRAILING_SPACE,
|
|
true, dbSystem))
|
|
{
|
|
return( false);
|
|
}
|
|
if (!compareStrTest( "801-224-8888", false, "8012248888", false,
|
|
CompareFlags.FLM_COMP_NO_DASHES,
|
|
true, dbSystem))
|
|
{
|
|
return( false);
|
|
}
|
|
if (!compareStrTest( "801_224_8888", false, "801 224 8888", false,
|
|
CompareFlags.FLM_COMP_NO_UNDERSCORES,
|
|
true, dbSystem))
|
|
{
|
|
return( false);
|
|
}
|
|
if (!compareStrTest( "801_224_8888", false, "801 224 8888", false,
|
|
CompareFlags.FLM_COMP_NO_UNDERSCORES | CompareFlags.FLM_COMP_COMPRESS_WHITESPACE,
|
|
true, dbSystem))
|
|
{
|
|
return( false);
|
|
}
|
|
return( true);
|
|
}
|
|
}
|
|
}
|