You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucenenet.apache.org by sy...@apache.org on 2016/09/11 21:31:12 UTC

[41/50] [abbrv] lucenenet git commit: Fixed ugly string formatting in the ToStringUtils.Boost code that was carried over from Luene.Net 3.0.3. Added a test to ensure that the functionality is identical.

Fixed ugly string formatting in the ToStringUtils.Boost code that was carried over from Luene.Net 3.0.3. Added a test to ensure that the functionality is identical.


Project: http://git-wip-us.apache.org/repos/asf/lucenenet/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucenenet/commit/66ab301f
Tree: http://git-wip-us.apache.org/repos/asf/lucenenet/tree/66ab301f
Diff: http://git-wip-us.apache.org/repos/asf/lucenenet/diff/66ab301f

Branch: refs/heads/master
Commit: 66ab301f2916759160da9faf9eca0f5576b2968e
Parents: 5706931
Author: Shad Storhaug <sh...@shadstorhaug.com>
Authored: Sun Aug 7 18:02:47 2016 +0700
Committer: Shad Storhaug <sh...@shadstorhaug.com>
Committed: Fri Sep 2 22:31:14 2016 +0700

----------------------------------------------------------------------
 src/Lucene.Net.Core/Util/ToStringUtils.cs       |  6 +--
 src/Lucene.Net.Tests/Lucene.Net.Tests.csproj    |  1 +
 .../core/Util/TestToStringUtils.cs              | 48 ++++++++++++++++++++
 3 files changed, 51 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucenenet/blob/66ab301f/src/Lucene.Net.Core/Util/ToStringUtils.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Util/ToStringUtils.cs b/src/Lucene.Net.Core/Util/ToStringUtils.cs
index e5f5a0d..3e1f938 100644
--- a/src/Lucene.Net.Core/Util/ToStringUtils.cs
+++ b/src/Lucene.Net.Core/Util/ToStringUtils.cs
@@ -37,10 +37,8 @@ namespace Lucene.Net.Util
         {
             if (boost != 1.0f)
             {
-                float boostAsLong = (long)boost;
-                if (boostAsLong == boost)
-                    return "^" + boost.ToString(".0").Replace(CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator, ".");
-                return "^" + boost.ToString().Replace(CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator, ".");
+                // .NET compatibility fix
+                return "^" + boost.ToString(".0######", CultureInfo.InvariantCulture);
             }
             else
                 return "";

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/66ab301f/src/Lucene.Net.Tests/Lucene.Net.Tests.csproj
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/Lucene.Net.Tests.csproj b/src/Lucene.Net.Tests/Lucene.Net.Tests.csproj
index 5c148a2..4755965 100644
--- a/src/Lucene.Net.Tests/Lucene.Net.Tests.csproj
+++ b/src/Lucene.Net.Tests/Lucene.Net.Tests.csproj
@@ -589,6 +589,7 @@
     <Compile Include="core\Util\TestTimSorter.cs">
       <SubType>Code</SubType>
     </Compile>
+    <Compile Include="core\Util\TestToStringUtils.cs" />
     <Compile Include="core\Util\TestUnicodeUtil.cs">
       <SubType>Code</SubType>
     </Compile>

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/66ab301f/src/Lucene.Net.Tests/core/Util/TestToStringUtils.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Util/TestToStringUtils.cs b/src/Lucene.Net.Tests/core/Util/TestToStringUtils.cs
new file mode 100644
index 0000000..a48cd23
--- /dev/null
+++ b/src/Lucene.Net.Tests/core/Util/TestToStringUtils.cs
@@ -0,0 +1,48 @@
+\ufeffusing Lucene.Net.Util;
+using NUnit.Framework;
+using System.Globalization;
+using System.Threading;
+
+namespace Lucene.Net.Core.Util
+{
+    /// <summary>
+    /// This test was added for .NET compatibility
+    /// </summary>
+    public class TestToStringUtils : LuceneTestCase
+    {
+        CultureInfo originalCulture;
+        public override void SetUp()
+        {
+            base.SetUp();
+            originalCulture = Thread.CurrentThread.CurrentCulture;
+        }
+
+        public override void TearDown()
+        {
+            Thread.CurrentThread.CurrentCulture = originalCulture;
+            base.TearDown();
+        }
+
+        /// <summary>
+        /// Check to ensure that the Boost function is properly converted in every possible culture.
+        /// </summary>
+        [Test]
+        public void TestBoost()
+        {
+            float boostNormal = 1f;
+            float boostFractional = 2.5f;
+            float boostNonFractional = 5f;
+            float boostLong = 1.111111111f;
+
+            foreach (CultureInfo culture in CultureInfo.GetCultures(CultureTypes.SpecificCultures | CultureTypes.NeutralCultures))
+            {
+                Thread.CurrentThread.CurrentCulture = culture;
+
+                assertEquals("", ToStringUtils.Boost(boostNormal));
+                assertEquals("^2.5", ToStringUtils.Boost(boostFractional));
+                assertEquals("^5.0", ToStringUtils.Boost(boostNonFractional));
+                assertEquals("^1.111111", ToStringUtils.Boost(boostLong));
+            }
+        }
+    }
+}