Author: rafael
Date: 2005-08-02 14:03:34 -0400 (Tue, 02 Aug 2005)
New Revision: 47925

Modified:
   trunk/mcs/class/Microsoft.VisualBasic/Test/Microsoft.VisualBasic/ChangeLog
   
trunk/mcs/class/Microsoft.VisualBasic/Test/Microsoft.VisualBasic/StringsTest.cs
Log:
2005-08-02      Rafael Teixeira <[EMAIL PROTECTED]>
        * StringsTest.cs:
                Implement tests for InStrRev



Modified: 
trunk/mcs/class/Microsoft.VisualBasic/Test/Microsoft.VisualBasic/ChangeLog
===================================================================
--- trunk/mcs/class/Microsoft.VisualBasic/Test/Microsoft.VisualBasic/ChangeLog  
2005-08-02 17:49:01 UTC (rev 47924)
+++ trunk/mcs/class/Microsoft.VisualBasic/Test/Microsoft.VisualBasic/ChangeLog  
2005-08-02 18:03:34 UTC (rev 47925)
@@ -1,3 +1,7 @@
+2005-08-02     Rafael Teixeira <[EMAIL PROTECTED]>
+       * StringsTest.cs:
+               Implement tests for InStrRev
+
 2004-08-04  Jochen Wezel <[EMAIL PROTECTED]>
        * StringsTest.cs: reenabled Split and StrComp tests which had been 
                disabled because of compilation trouble in the past

Modified: 
trunk/mcs/class/Microsoft.VisualBasic/Test/Microsoft.VisualBasic/StringsTest.cs
===================================================================
--- 
trunk/mcs/class/Microsoft.VisualBasic/Test/Microsoft.VisualBasic/StringsTest.cs 
    2005-08-02 17:49:01 UTC (rev 47924)
+++ 
trunk/mcs/class/Microsoft.VisualBasic/Test/Microsoft.VisualBasic/StringsTest.cs 
    2005-08-02 18:03:34 UTC (rev 47925)
@@ -30,16 +30,18 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
-using Microsoft.VisualBasic;
 using System;
 using System.Text;
-using System.Globalization;
+using System.Globalization;
+
+using Microsoft.VisualBasic;
+
 using NUnit.Framework;
 
 namespace MonoTests.Microsoft.VisualBasic
 {
        [TestFixture]
-       public class StringsTest : Assertion 
+       public class StringsTest 
        {
                private string TextStringOfMultipleLanguages;
                private string TextStringUninitialized;
@@ -53,7 +55,7 @@
                const string MSWebSiteContent_Korean = "보안 캠페인 - 스스로 지킨 당신의 PC! 
더욱 안전해집니다!";
                const string ArabynetComWebSiteContent_Arabic = "كل الحقوق 
محفوظة ليديعوت إنترنت";
                const string GermanUmlauts_German = "äöüÄÖÜß";
-
+                
                private char Letter_Empty;
                private char Letter_English;
                private char Letter_Japanese;
@@ -679,36 +681,88 @@
                        }
                        */
                }
-
-               //[Test]
-               public void InStrRev()
-               {
-                       InStrRev_4Parameters();
-                       InStrRev_5Parameters();
+/* 
+               public static int InStrRev(string StringCheck, 
+                                          string StringMatch, 
+                                          [Optional, 
__DefaultArgumentValue(-1)] 
+                                          int Start,
+                                          [Optional, 
__DefaultArgumentValue((int)CompareMethod.Binary), OptionCompare] 
+                                          CompareMethod Compare)
+*/
+               const string FakePath = @"/aaa/bbb/ccc.log";
+               
+               [Test, ExpectedException(typeof(ArgumentException))]
+               public void InStrRev_StartArgumentZero()
+               {
+                       Strings.InStrRev(FakePath, "/", 0, CompareMethod.Text);
                }
-
-               // [MonoToDo("Not implemented")]
-               //TODO: [Test]
-               public void InStrRev_4Parameters()
+
+               [Test, ExpectedException(typeof(ArgumentException))]
+               public void InStrRev_StartArgumentLessThanMinusOne()
+               {
+                       Strings.InStrRev(FakePath, "/", -2, CompareMethod.Text);
+               }
+               
+               [Test]
+               public void InStrRev_EmptyStringCheck()
                {
-
-                       // 2 InStrRev functions exists+ACEAIQ- Create tests for 
both versions+ACE-
-
-                       /*
-                       if ((Start +AD0APQ- 0) +AHwAfA- (Start +ADw- -1))
-                               throw new ArgumentException("Argument 'Start' 
must be greater than 0 or equal to -1", "Start");
- 
-                       //FIXME: Use LastIndexOf()
-                       throw new NotImplementedException();
-                       */
+                       Assert.AreEqual( 0, Strings.InStrRev(null, "a", -1, 
CompareMethod.Text));
+                       Assert.AreEqual( 0, Strings.InStrRev("",   "a", -1, 
CompareMethod.Text));
+                       Assert.AreEqual( 0, Strings.InStrRev(null, "a", -1, 
CompareMethod.Binary));
+                       Assert.AreEqual( 0, Strings.InStrRev("",   "a", -1, 
CompareMethod.Binary));
+                       Assert.AreEqual( 0, Strings.InStrRev(null, "a",  3, 
CompareMethod.Text));
+                       Assert.AreEqual( 0, Strings.InStrRev("",   "a",  3, 
CompareMethod.Binary));
+               }
+               
+               [Test]
+               public void InStrRev_EmptyStringMatch()
+               {
+                       Assert.AreEqual(FakePath.Length, 
Strings.InStrRev(FakePath, null, -1, CompareMethod.Text));
+                       Assert.AreEqual(FakePath.Length, 
Strings.InStrRev(FakePath, ""  , -1, CompareMethod.Text));
+                       Assert.AreEqual( 5, Strings.InStrRev(FakePath, null,  
5, CompareMethod.Text));
+                       Assert.AreEqual( 5, Strings.InStrRev(FakePath, ""  ,  
5, CompareMethod.Text));
+                       Assert.AreEqual(25, Strings.InStrRev(FakePath, null, 
25, CompareMethod.Text));
+                       Assert.AreEqual(25, Strings.InStrRev(FakePath, ""  , 
25, CompareMethod.Text));
+                       Assert.AreEqual(FakePath.Length, 
Strings.InStrRev(FakePath, null, -1, CompareMethod.Binary));
+                       Assert.AreEqual(FakePath.Length, 
Strings.InStrRev(FakePath, ""  , -1, CompareMethod.Binary));
+                       Assert.AreEqual( 5, Strings.InStrRev(FakePath, null,  
5, CompareMethod.Binary));
+                       Assert.AreEqual( 5, Strings.InStrRev(FakePath, ""  ,  
5, CompareMethod.Binary));
+                       Assert.AreEqual(25, Strings.InStrRev(FakePath, null, 
25, CompareMethod.Binary));
+                       Assert.AreEqual(25, Strings.InStrRev(FakePath, ""  , 
25, CompareMethod.Binary));
+               }
+               
+               [Test]
+               public void InStrRev_BigStart()
+               {
+                       Assert.AreEqual( 0, Strings.InStrRev(FakePath, "aa", 
25, CompareMethod.Text));
+                       Assert.AreEqual( 0, Strings.InStrRev(FakePath, "aa", 
25, CompareMethod.Text));
+                       Assert.AreEqual( 0, Strings.InStrRev(FakePath, "aa", 
25, CompareMethod.Binary));
+                       Assert.AreEqual( 0, Strings.InStrRev(FakePath, "aa", 
25, CompareMethod.Binary));
+               }
+               
+               [Test]
+               public void InStrRev_KnownToMatchSubPatterns()
+               {
+                       Assert.AreEqual( 4, Strings.InStrRev(FakePath, "a",   
-1, CompareMethod.Text));
+                       Assert.AreEqual( 4, Strings.InStrRev(FakePath, "A",   
-1, CompareMethod.Text));
+                       Assert.AreEqual(11, Strings.InStrRev(FakePath, "c",   
11, CompareMethod.Binary));
+                       Assert.AreEqual(10, Strings.InStrRev(FakePath, "ccc", 
-1, CompareMethod.Binary));
+                       Assert.AreEqual( 7, Strings.InStrRev(FakePath, "bb",  
-1, CompareMethod.Binary));
+                       Assert.AreEqual( 9, Strings.InStrRev(FakePath, "/",   
-1, CompareMethod.Text));
+                       Assert.AreEqual(12, Strings.InStrRev("ação ou inação", 
"çã", -1, CompareMethod.Text));
+                       Assert.AreEqual(12, Strings.InStrRev("ação OU INAÇÃO", 
"çã", -1, CompareMethod.Text));
+                       Assert.AreEqual( 2, Strings.InStrRev("ação OU INAÇÃO", 
"çã", -1, CompareMethod.Binary));
                }
-
-               // [MonoToDo("Not implemented")]
-               //TODO: [Test]
-               public void InStrRev_5Parameters()
+               
+               [Test]
+               public void InStrRev_KnownNotToMatchSubPatterns()
                {
-               }
-                       
+                       Assert.AreEqual( 0, Strings.InStrRev(FakePath, "d",  
-1, CompareMethod.Text));
+                       Assert.AreEqual( 0, Strings.InStrRev(FakePath, "A",  
-1, CompareMethod.Binary));
+                       Assert.AreEqual( 0, Strings.InStrRev(FakePath, "c",   
7, CompareMethod.Binary));
+                       Assert.AreEqual( 0, Strings.InStrRev("AÇÃO",   "çã", 
-1, CompareMethod.Binary));
+               }               
+               
                // [MonoToDo("Not implemented")]
                //TODO: [Test]
                public void Join_Strings()

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to