lucenenet-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nicholas Paldino (JIRA)" <>
Subject [jira] Commented: (LUCENENET-285) Problem with "CurrentCulture"
Date Wed, 18 Nov 2009 21:06:39 GMT


Nicholas Paldino commented on LUCENENET-285:

The ToString equivalents in Java always want the behavior of the ToString methods in .NET
when you have an invariant culture, for the most part, it just so happens that the en-US culture
will produce the same result when calling ToString on most numbers of this magnitude.

That being said, it looks to me that the intention here is to use an invariant representation
of the float.

Right now, I would call ToString and pass the result of a call to the static property InvariantCulture
on CultureInfo wo the string is formatted correctly. When the code diverges, this should be
placed in an extension method for float, double, int, long, etc etc.

It also indicates that the test is incomplete as it isn't testing the boundary condition.
The test should change the culture of the thread to a culture where calling ToString (without
parameters) will result in a different character for the decimal point and then reverts back
to en-US and verifies that everything still works.

> Problem with "CurrentCulture"
> -----------------------------
>                 Key: LUCENENET-285
>                 URL:
>             Project: Lucene.Net
>          Issue Type: Bug
>            Reporter: Digy
> Hi Folks,
> There is a bug in utilizing Thread.CurrentThread.CurrentCulture.
> A float number such as 2.5 can be converted to string as "2.5" or  "2,5"  depending on
the culture.
> if it is converted to "2,5", some of the tests(ex, TestAnalyzerReturningNull) under "QueryParser"
> _(cause: buffer.Append(minimumSimilarity.ToString()) in FuzzyQuery.cs line 204)_
> Since they make string comparison of the queries.
> There can be two solutions to this
> 1- Changing, for ex, 
> 	_buffer.Append(minimumSimilarity.ToString())_
> 	to
> 	_buffer.Append(SupportClass.Single.ToString(minimumSimilarity)_
> in Lucene.NET core (there may be many other places)
> or
> 2- Changing the current-culture of the test cases to "en-US".
> Solution-2 is the simplest way, but what is the correct one?

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message