You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucenenet.apache.org by ni...@apache.org on 2017/02/28 12:30:06 UTC
[15/20] lucenenet git commit:
Lucene.Net.TestFramework.Util.TestRuleSetupAndRestoreClassEnv: Added
randomization of Culture, TimeZone, and InfoStream.
Lucene.Net.TestFramework.Util.TestRuleSetupAndRestoreClassEnv: Added randomization of Culture, TimeZone, and InfoStream.
Project: http://git-wip-us.apache.org/repos/asf/lucenenet/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucenenet/commit/e9ec2abf
Tree: http://git-wip-us.apache.org/repos/asf/lucenenet/tree/e9ec2abf
Diff: http://git-wip-us.apache.org/repos/asf/lucenenet/diff/e9ec2abf
Branch: refs/heads/api-work
Commit: e9ec2abf12feec9fd5608b104f4753ac90f515ab
Parents: 9b9cd81
Author: Shad Storhaug <sh...@shadstorhaug.com>
Authored: Tue Feb 28 17:17:01 2017 +0700
Committer: Shad Storhaug <sh...@shadstorhaug.com>
Committed: Tue Feb 28 17:17:01 2017 +0700
----------------------------------------------------------------------
.../JavaCompatibility/LuceneTestCase.cs | 10 -
.../Util/LuceneTestCase.cs | 69 ++--
.../Util/TestRuleSetupAndRestoreClassEnv.cs | 344 +++++--------------
.../Flexible/Standard/TestNumericQueryParser.cs | 4 +-
4 files changed, 119 insertions(+), 308 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e9ec2abf/src/Lucene.Net.TestFramework/JavaCompatibility/LuceneTestCase.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.TestFramework/JavaCompatibility/LuceneTestCase.cs b/src/Lucene.Net.TestFramework/JavaCompatibility/LuceneTestCase.cs
index 913f94b..e417c4f 100644
--- a/src/Lucene.Net.TestFramework/JavaCompatibility/LuceneTestCase.cs
+++ b/src/Lucene.Net.TestFramework/JavaCompatibility/LuceneTestCase.cs
@@ -244,15 +244,5 @@ namespace Lucene.Net.Util
return v1 * multiplier;
}
}
-
- protected virtual CultureInfo randomLocale(Random random)
- {
- return RandomInts.RandomFrom(random, CultureInfoSupport.GetNeutralAndSpecificCultures());
- }
-
- protected virtual TimeZoneInfo randomTimeZone(Random random)
- {
- return RandomInts.RandomFrom(random, TimeZoneInfo.GetSystemTimeZones());
- }
}
}
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e9ec2abf/src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs b/src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs
index 812e273..47f8dca 100644
--- a/src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs
+++ b/src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs
@@ -1433,46 +1433,45 @@ namespace Lucene.Net.Util
return new Field(name, value, newType);
}
- /* LUCENE TODO: removing until use is shown
+ /// <summary>
+ /// Return a random Locale from the available locales on the system. </summary>
+ /// <seealso cref= "https://issues.apache.org/jira/browse/LUCENE-4020" </seealso>
+ public static CultureInfo RandomLocale(Random random)
+ {
+ return RandomInts.RandomFrom(random, CultureInfoSupport.GetNeutralAndSpecificCultures());
+ }
- /// <summary>
- /// Return a random Locale from the available locales on the system. </summary>
- /// <seealso cref= "https://issues.apache.org/jira/browse/LUCENE-4020" </seealso>
- public static CultureInfo RandomLocale(Random random)
- {
- CultureInfo[] locales = CultureInfo.GetCultures();
- return locales[random.Next(locales.Length)];
- }
- /// <summary>
- /// Return a random TimeZone from the available timezones on the system </summary>
- /// <seealso cref= "https://issues.apache.org/jira/browse/LUCENE-4020" </seealso>
- public static TimeZone RandomTimeZone(Random random)
- {
- string[] tzIds = TimeZone.AvailableIDs;
- return TimeZone.getTimeZone(tzIds[random.Next(tzIds.Length)]);
- }
+ /// <summary>
+ /// Return a random TimeZone from the available timezones on the system </summary>
+ /// <seealso cref= "https://issues.apache.org/jira/browse/LUCENE-4020" </seealso>
+ public static TimeZoneInfo RandomTimeZone(Random random)
+ {
+ return RandomInts.RandomFrom(random, TimeZoneInfo.GetSystemTimeZones());
+ }
- /// <summary>
- /// return a Locale object equivalent to its programmatic name </summary>
- public static Locale LocaleForName(string localeName)
- {
- string[] elements = localeName.Split("\\_");
- switch (elements.Length)
- {
- case 4: // fallthrough for special cases
- case 3:
- return new Locale(elements[0], elements[1], elements[2]);
+ /// <summary>
+ /// return a Locale object equivalent to its programmatic name </summary>
+ public static CultureInfo LocaleForName(string localeName)
+ {
+ return new CultureInfo(localeName);
- case 2:
- return new Locale(elements[0], elements[1]);
+ //string[] elements = Regex.Split(localeName, "\\_", RegexOptions.Compiled);
+ //switch (elements.Length)
+ //{
+ // case 4: // fallthrough for special cases
+ // case 3:
+ // return new Locale(elements[0], elements[1], elements[2]);
- case 1:
- return new Locale(elements[0]);
+ // case 2:
+ // return new Locale(elements[0], elements[1]);
- default:
- throw new System.ArgumentException("Invalid Locale: " + localeName);
- }
- }*/
+ // case 1:
+ // return new Locale(elements[0]);
+
+ // default:
+ // throw new System.ArgumentException("Invalid Locale: " + localeName);
+ //}
+ }
public static bool DefaultCodecSupportsDocValues()
{
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e9ec2abf/src/Lucene.Net.TestFramework/Util/TestRuleSetupAndRestoreClassEnv.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.TestFramework/Util/TestRuleSetupAndRestoreClassEnv.cs b/src/Lucene.Net.TestFramework/Util/TestRuleSetupAndRestoreClassEnv.cs
index ba4be2c..9f34248 100644
--- a/src/Lucene.Net.TestFramework/Util/TestRuleSetupAndRestoreClassEnv.cs
+++ b/src/Lucene.Net.TestFramework/Util/TestRuleSetupAndRestoreClassEnv.cs
@@ -1,46 +1,41 @@
+using Lucene.Net.Codecs.Asserting;
+using Lucene.Net.Codecs.Compressing;
+using Lucene.Net.Codecs.Lucene3x;
+using Lucene.Net.Codecs.Lucene40;
+using Lucene.Net.Codecs.Lucene41;
+using Lucene.Net.Codecs.Lucene42;
+using Lucene.Net.Codecs.Lucene45;
+using Lucene.Net.JavaCompatibility;
+using Lucene.Net.Randomized.Generators;
+using Lucene.Net.Support;
using System;
using System.Collections.Generic;
+using System.Diagnostics;
using System.Globalization;
using System.IO;
+using System.Linq;
+using System.Reflection;
using System.Threading;
namespace Lucene.Net.Util
{
- using Codecs;
- using Codecs.Asserting;
- using Codecs.CheapBastard;
- using Codecs.Compressing;
- using Codecs.Lucene3x;
- using Codecs.Lucene40;
- using Codecs.Lucene41;
- using Codecs.Lucene42;
- using Codecs.Lucene45;
- using Codecs.MockRandom;
- using Codecs.SimpleText;
- using JavaCompatibility;
- //using AssumptionViolatedException = org.junit.@internal.AssumptionViolatedException;
- using Lucene.Net.Randomized.Generators;
- using Support;
- using System.Diagnostics;
- using System.Linq;
- using System.Reflection;
-
/*
- * 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.
- */
+ * 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.
+ */
+
/*
import static Lucene.Net.Util.LuceneTestCase.INFOSTREAM;
import static Lucene.Net.Util.LuceneTestCase.TEST_CODEC;
@@ -53,19 +48,17 @@ namespace Lucene.Net.Util
import static Lucene.Net.Util.LuceneTestCase.randomLocale;
import static Lucene.Net.Util.LuceneTestCase.randomTimeZone;*/
+ using CheapBastardCodec = Lucene.Net.Codecs.CheapBastard.CheapBastardCodec;
using Codec = Lucene.Net.Codecs.Codec;
using DefaultSimilarity = Lucene.Net.Search.Similarities.DefaultSimilarity;
using DocValuesFormat = Lucene.Net.Codecs.DocValuesFormat;
-
- //using CheapBastardCodec = Lucene.Net.Codecs.cheapbastard.CheapBastardCodec;
- //using MockRandomPostingsFormat = Lucene.Net.Codecs.mockrandom.MockRandomPostingsFormat;
using Lucene46Codec = Lucene.Net.Codecs.Lucene46.Lucene46Codec;
+ using MockRandomPostingsFormat = Lucene.Net.Codecs.MockRandom.MockRandomPostingsFormat;
using PostingsFormat = Lucene.Net.Codecs.PostingsFormat;
-
- //using SimpleTextCodec = Lucene.Net.Codecs.simpletext.SimpleTextCodec;
using RandomCodec = Lucene.Net.Index.RandomCodec;
using RandomSimilarityProvider = Lucene.Net.Search.RandomSimilarityProvider;
using Similarity = Lucene.Net.Search.Similarities.Similarity;
+ using SimpleTextCodec = Lucene.Net.Codecs.SimpleText.SimpleTextCodec;
//using RandomizedContext = com.carrotsearch.randomizedtesting.RandomizedContext;
@@ -81,9 +74,9 @@ namespace Lucene.Net.Util
private Dictionary<string, string> restoreProperties = new Dictionary<string, string>();
private Codec savedCodec;
- //private CultureInfo SavedLocale;
- //private InfoStream SavedInfoStream;
- //private TimeZoneInfo SavedTimeZone;
+ private CultureInfo savedLocale;
+ private InfoStream savedInfoStream;
+ private TimeZoneInfo savedTimeZone;
internal CultureInfo locale;
internal TimeZoneInfo timeZone;
@@ -111,18 +104,17 @@ namespace Lucene.Net.Util
}
}
- // LUCENENET TODO: Finish implementation ?
- //SavedInfoStream = InfoStream.Default;
- Random random = LuceneTestCase.Random(); //RandomizedContext.Current.Random;
- //bool v = random.NextBoolean();
- //if (LuceneTestCase.INFOSTREAM)
- //{
- // InfoStream.Default = new ThreadNameFixingPrintStreamInfoStream(Console.Out);
- //}
- //else if (v)
- //{
- // InfoStream.Default = new NullInfoStream();
- //}
+ savedInfoStream = InfoStream.Default;
+ Random random = LuceneTestCase.Random();
+ bool v = random.NextBoolean();
+ if (LuceneTestCase.INFOSTREAM)
+ {
+ InfoStream.Default = new ThreadNameFixingPrintStreamInfoStream(Console.Out);
+ }
+ else if (v)
+ {
+ InfoStream.Default = new NullInfoStream();
+ }
Type targetClass = testInstance.GetType();
avoidCodecs = new HashSet<string>();
@@ -249,24 +241,29 @@ namespace Lucene.Net.Util
}
Codec.Default = codec;
- // LUCENENET TODO: Locale/time zone
- //// Initialize locale/ timezone.
- //string testLocale = System.getProperty("tests.locale", "random");
- //string testTimeZone = System.getProperty("tests.timezone", "random");
-
- //// Always pick a random one for consistency (whether tests.locale was specified or not).
- //SavedLocale = Locale.Default;
- //Locale randomLocale = RandomLocale(random);
- //Locale = testLocale.Equals("random") ? randomLocale : localeForName(testLocale);
- //Locale.Default = Locale;
-
- //// TimeZone.getDefault will set user.timezone to the default timezone of the user's locale.
- //// So store the original property value and restore it at end.
- //RestoreProperties["user.timezone"] = System.getProperty("user.timezone");
- //SavedTimeZone = TimeZone.Default;
- //TimeZone randomTimeZone = RandomTimeZone(random);
- //TimeZone = testTimeZone.Equals("random") ? randomTimeZone : TimeZone.getTimeZone(testTimeZone);
- //TimeZone.Default = TimeZone;
+ // Initialize locale/ timezone.
+ string testLocale = System.Environment.GetEnvironmentVariable("tests.locale") ?? "random";
+ string testTimeZone = System.Environment.GetEnvironmentVariable("tests.timezone") ?? "random";
+
+ // Always pick a random one for consistency (whether tests.locale was specified or not).
+ savedLocale = CultureInfo.CurrentCulture;
+ CultureInfo randomLocale = LuceneTestCase.RandomLocale(random);
+ locale = testLocale.Equals("random") ? randomLocale : LuceneTestCase.LocaleForName(testLocale);
+#if NETSTANDARD
+ CultureInfo.CurrentCulture = locale;
+#else
+ Thread.CurrentThread.CurrentCulture = locale;
+#endif
+
+ // TimeZone.getDefault will set user.timezone to the default timezone of the user's locale.
+ // So store the original property value and restore it at end.
+ restoreProperties["user.timezone"] = System.Environment.GetEnvironmentVariable("user.timezone");
+ savedTimeZone = testInstance.TimeZone;
+ TimeZoneInfo randomTimeZone = LuceneTestCase.RandomTimeZone(random);
+ timeZone = testTimeZone.Equals("random") ? randomTimeZone : TimeZoneInfo.FindSystemTimeZoneById(testTimeZone);
+ //TimeZone.Default = TimeZone; // LUCENENET NOTE: There doesn't seem to be an equivalent to this, but I don't think we need it.
+
+ //TimeZoneInfo.ConvertTime() // LUCENENET TODO: Everywhere TimeZoneInfo is supposed to be used, use this method to convert a dateTime object to the time zone
similarity = random.NextBoolean() ? (Similarity)new DefaultSimilarity() : new RandomSimilarityProvider(random);
@@ -310,186 +307,6 @@ namespace Lucene.Net.Util
}
}
- /*protected internal override void Before()
- {
- // enable this by default, for IDE consistency with ant tests (as its the default from ant)
- // TODO: really should be in solr base classes, but some extend LTC directly.
- // we do this in beforeClass, because some tests currently disable it
- RestoreProperties["solr.directoryFactory"] = System.getProperty("solr.directoryFactory");
- if (System.getProperty("solr.directoryFactory") == null)
- {
- System.setProperty("solr.directoryFactory", "org.apache.solr.core.MockDirectoryFactory");
- }
-
- // Restore more Solr properties.
- RestoreProperties["solr.solr.home"] = System.getProperty("solr.solr.home");
- RestoreProperties["solr.data.dir"] = System.getProperty("solr.data.dir");
-
- // if verbose: print some debugging stuff about which codecs are loaded.
- if (LuceneTestCase.VERBOSE)
- {
- ISet<string> codecs = Codec.AvailableCodecs();
- foreach (string codec in codecs)
- {
- Console.WriteLine("Loaded codec: '" + codec + "': " + Codec.ForName(codec).GetType().Name);
- }
-
- ISet<string> postingsFormats = PostingsFormat.AvailablePostingsFormats();
- foreach (string postingsFormat in postingsFormats)
- {
- Console.WriteLine("Loaded postingsFormat: '" + postingsFormat + "': " + PostingsFormat.ForName(postingsFormat).GetType().Name);
- }
- }
-
- SavedInfoStream = InfoStream.Default;
- Random random = RandomizedContext.Current.Random;
- bool v = random.NextBoolean();
- if (LuceneTestCase.INFOSTREAM)
- {
- InfoStream.Default = new ThreadNameFixingPrintStreamInfoStream(Console.Out);
- }
- else if (v)
- {
- InfoStream.Default = new NullInfoStream();
- }
-
- Type targetClass = RandomizedContext.Current.GetTargetType;
- AvoidCodecs = new HashSet<string>();
- if (targetClass.isAnnotationPresent(typeof(SuppressCodecs)))
- {
- SuppressCodecs a = targetClass.getAnnotation(typeof(SuppressCodecs));
- AvoidCodecs.AddAll(Arrays.AsList(a.Value()));
- }
-
- // set back to default
- LuceneTestCase.OLD_FORMAT_IMPERSONATION_IS_ACTIVE = false;
-
- SavedCodec = Codec.Default;
- int randomVal = random.Next(10);
- if ("Lucene3x".Equals(LuceneTestCase.TEST_CODEC) || ("random".Equals(LuceneTestCase.TEST_CODEC) && "random".Equals(LuceneTestCase.TEST_POSTINGSFORMAT) && "random".Equals(LuceneTestCase.TEST_DOCVALUESFORMAT) && randomVal == 3 && !ShouldAvoidCodec("Lucene3x"))) // preflex-only setup
- {
- Codec = Codec.ForName("Lucene3x");
- Debug.Assert((Codec is PreFlexRWCodec), "fix your classpath to have tests-framework.jar before lucene-core.jar");
- LuceneTestCase.OLD_FORMAT_IMPERSONATION_IS_ACTIVE = true;
- }
- else if ("Lucene40".Equals(LuceneTestCase.TEST_CODEC) || ("random".Equals(LuceneTestCase.TEST_CODEC) && "random".Equals(LuceneTestCase.TEST_POSTINGSFORMAT) && randomVal == 0 && !ShouldAvoidCodec("Lucene40"))) // 4.0 setup
- {
- Codec = Codec.ForName("Lucene40");
- LuceneTestCase.OLD_FORMAT_IMPERSONATION_IS_ACTIVE = true;
- Debug.Assert(Codec is Lucene40RWCodec, "fix your classpath to have tests-framework.jar before lucene-core.jar");
- Debug.Assert((PostingsFormat.ForName("Lucene40") is Lucene40RWPostingsFormat), "fix your classpath to have tests-framework.jar before lucene-core.jar");
- }
- else if ("Lucene41".Equals(LuceneTestCase.TEST_CODEC) || ("random".Equals(LuceneTestCase.TEST_CODEC) && "random".Equals(LuceneTestCase.TEST_POSTINGSFORMAT) && "random".Equals(LuceneTestCase.TEST_DOCVALUESFORMAT) && randomVal == 1 && !ShouldAvoidCodec("Lucene41")))
- {
- Codec = Codec.ForName("Lucene41");
- LuceneTestCase.OLD_FORMAT_IMPERSONATION_IS_ACTIVE = true;
- Debug.Assert(Codec is Lucene41RWCodec, "fix your classpath to have tests-framework.jar before lucene-core.jar");
- }
- else if ("Lucene42".Equals(LuceneTestCase.TEST_CODEC) || ("random".Equals(LuceneTestCase.TEST_CODEC) && "random".Equals(LuceneTestCase.TEST_POSTINGSFORMAT) && "random".Equals(LuceneTestCase.TEST_DOCVALUESFORMAT) && randomVal == 2 && !ShouldAvoidCodec("Lucene42")))
- {
- Codec = Codec.ForName("Lucene42");
- LuceneTestCase.OLD_FORMAT_IMPERSONATION_IS_ACTIVE = true;
- Debug.Assert(Codec is Lucene42RWCodec, "fix your classpath to have tests-framework.jar before lucene-core.jar");
- }
- else if ("Lucene45".Equals(LuceneTestCase.TEST_CODEC) || ("random".Equals(LuceneTestCase.TEST_CODEC) && "random".Equals(LuceneTestCase.TEST_POSTINGSFORMAT) && "random".Equals(LuceneTestCase.TEST_DOCVALUESFORMAT) && randomVal == 5 && !ShouldAvoidCodec("Lucene45")))
- {
- Codec = Codec.ForName("Lucene45");
- LuceneTestCase.OLD_FORMAT_IMPERSONATION_IS_ACTIVE = true;
- Debug.Assert(Codec is Lucene45RWCodec, "fix your classpath to have tests-framework.jar before lucene-core.jar");
- }
- else if (("random".Equals(LuceneTestCase.TEST_POSTINGSFORMAT) == false) || ("random".Equals(LuceneTestCase.TEST_DOCVALUESFORMAT) == false))
- {
- // the user wired postings or DV: this is messy
- // refactor into RandomCodec....
-
- PostingsFormat format;
- if ("random".Equals(LuceneTestCase.TEST_POSTINGSFORMAT))
- {
- format = PostingsFormat.ForName("Lucene41");
- }
- else if ("MockRandom".Equals(LuceneTestCase.TEST_POSTINGSFORMAT))
- {
- format = new MockRandomPostingsFormat(new Random(random.Next()));
- }
- else
- {
- format = PostingsFormat.ForName(LuceneTestCase.TEST_POSTINGSFORMAT);
- }
-
- DocValuesFormat dvFormat;
- if ("random".Equals(LuceneTestCase.TEST_DOCVALUESFORMAT))
- {
- dvFormat = DocValuesFormat.ForName("Lucene45");
- }
- else
- {
- dvFormat = DocValuesFormat.ForName(LuceneTestCase.TEST_DOCVALUESFORMAT);
- }
-
- Codec = new Lucene46CodecAnonymousInnerClassHelper(this, format, dvFormat);
- }
- else if ("SimpleText".Equals(LuceneTestCase.TEST_CODEC) || ("random".Equals(LuceneTestCase.TEST_CODEC) && randomVal == 9 && LuceneTestCase.Rarely(random) && !ShouldAvoidCodec("SimpleText")))
- {
- Codec = new SimpleTextCodec();
- }
- else if ("CheapBastard".Equals(LuceneTestCase.TEST_CODEC) || ("random".Equals(LuceneTestCase.TEST_CODEC) && randomVal == 8 && !ShouldAvoidCodec("CheapBastard") && !ShouldAvoidCodec("Lucene41")))
- {
- // we also avoid this codec if Lucene41 is avoided, since thats the postings format it uses.
- Codec = new CheapBastardCodec();
- }
- else if ("Asserting".Equals(LuceneTestCase.TEST_CODEC) || ("random".Equals(LuceneTestCase.TEST_CODEC) && randomVal == 6 && !ShouldAvoidCodec("Asserting")))
- {
- Codec = new AssertingCodec();
- }
- else if ("Compressing".Equals(LuceneTestCase.TEST_CODEC) || ("random".Equals(LuceneTestCase.TEST_CODEC) && randomVal == 5 && !ShouldAvoidCodec("Compressing")))
- {
- Codec = CompressingCodec.RandomInstance(random);
- }
- else if (!"random".Equals(LuceneTestCase.TEST_CODEC))
- {
- Codec = Codec.ForName(LuceneTestCase.TEST_CODEC);
- }
- else if ("random".Equals(LuceneTestCase.TEST_POSTINGSFORMAT))
- {
- Codec = new RandomCodec(random, AvoidCodecs);
- }
- else
- {
- Debug.Assert(false);
- }
- Codec.Default = Codec;
-
- // Initialize locale/ timezone.
- string testLocale = System.getProperty("tests.locale", "random");
- string testTimeZone = System.getProperty("tests.timezone", "random");
-
- // Always pick a random one for consistency (whether tests.locale was specified or not).
- SavedLocale = Locale.Default;
- Locale randomLocale = RandomLocale(random);
- Locale = testLocale.Equals("random") ? randomLocale : localeForName(testLocale);
- Locale.Default = Locale;
-
- // TimeZone.getDefault will set user.timezone to the default timezone of the user's locale.
- // So store the original property value and restore it at end.
- RestoreProperties["user.timezone"] = System.getProperty("user.timezone");
- SavedTimeZone = TimeZone.Default;
- TimeZone randomTimeZone = RandomTimeZone(random);
- TimeZone = testTimeZone.Equals("random") ? randomTimeZone : TimeZone.getTimeZone(testTimeZone);
- TimeZone.Default = TimeZone;
- Similarity = random.NextBoolean() ? (Similarity)new DefaultSimilarity() : new RandomSimilarityProvider(new Random());
-
- // Check codec restrictions once at class level.
- try
- {
- CheckCodecRestrictions(Codec);
- }
- catch (Exception e)
- {
- Console.Error.WriteLine("NOTE: " + e.Message + " Suppressed codecs: " + Arrays.ToString(AvoidCodecs.ToArray()));
- throw e;
- }
- }*/
-
private class Lucene46CodecAnonymousInnerClassHelper : Lucene46Codec
{
private readonly TestRuleSetupAndRestoreClassEnv outerInstance;
@@ -561,15 +378,20 @@ namespace Lucene.Net.Util
restoreProperties.Clear();
Codec.Default = savedCodec;
- //InfoStream.Default = savedInfoStream;
- //if (savedLocale != null)
- //{
- // locale = savedLocale;
- //}
- //if (savedTimeZone != null)
- //{
- // timeZone = savedTimeZone;
- //}
+ InfoStream.Default = savedInfoStream;
+ if (savedLocale != null)
+ {
+ locale = savedLocale;
+#if NETSTANDARD
+ CultureInfo.CurrentCulture = savedLocale;
+#else
+ Thread.CurrentThread.CurrentCulture = savedLocale;
+#endif
+ }
+ if (savedTimeZone != null)
+ {
+ timeZone = savedTimeZone;
+ }
}
/// <summary>
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e9ec2abf/src/Lucene.Net.Tests.QueryParser/Flexible/Standard/TestNumericQueryParser.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests.QueryParser/Flexible/Standard/TestNumericQueryParser.cs b/src/Lucene.Net.Tests.QueryParser/Flexible/Standard/TestNumericQueryParser.cs
index 99ba96f..601c1d0 100644
--- a/src/Lucene.Net.Tests.QueryParser/Flexible/Standard/TestNumericQueryParser.cs
+++ b/src/Lucene.Net.Tests.QueryParser/Flexible/Standard/TestNumericQueryParser.cs
@@ -97,8 +97,8 @@ namespace Lucene.Net.QueryParsers.Flexible.Standard
}
dateFormatSanityCheckPass = true;
- LOCALE = randomLocale(Random());
- TIMEZONE = randomTimeZone(Random());
+ LOCALE = RandomLocale(Random());
+ TIMEZONE = RandomTimeZone(Random());
DATE_STYLE = randomDateStyle(Random());
TIME_STYLE = randomDateStyle(Random());