public static GetInstance ( Lucene.Net.Util.Version matchVersion ) : |
||
matchVersion | Lucene.Net.Util.Version | /// a version instance |
return |
public virtual void TestCodePointAtCharSequenceInt() { #pragma warning disable 612, 618 var java4 = CharacterUtils.GetInstance(LuceneVersion.LUCENE_30); #pragma warning restore 612, 618 var cpAt3 = "Abc\ud801\udc1c"; var highSurrogateAt3 = "Abc\ud801"; assertEquals((int)'A', java4.CodePointAt(cpAt3, 0)); assertEquals((int)'\ud801', java4.CodePointAt(cpAt3, 3)); assertEquals((int)'\ud801', java4.CodePointAt(highSurrogateAt3, 3)); try { java4.CodePointAt(highSurrogateAt3, 4); fail("string index out of bounds"); } catch (Exception e) when(e.IsIndexOutOfBoundsException()) { } var java5 = CharacterUtils.GetInstance(TEST_VERSION_CURRENT); assertEquals((int)'A', java5.CodePointAt(cpAt3, 0)); assertEquals(Character.ToCodePoint('\ud801', '\udc1c'), java5.CodePointAt(cpAt3, 3)); assertEquals((int)'\ud801', java5.CodePointAt(highSurrogateAt3, 3)); try { java5.CodePointAt(highSurrogateAt3, 4); fail("string index out of bounds"); } catch (Exception e) when(e.IsIndexOutOfBoundsException()) { } }
public virtual void TestCodePointAtCharSequenceInt() { var java4 = CharacterUtils.GetInstance(LuceneVersion.LUCENE_30); var cpAt3 = "Abc\ud801\udc1c"; var highSurrogateAt3 = "Abc\ud801"; assertEquals((int)'A', java4.CodePointAt(cpAt3, 0)); assertEquals((int)'\ud801', java4.CodePointAt(cpAt3, 3)); assertEquals((int)'\ud801', java4.CodePointAt(highSurrogateAt3, 3)); try { java4.CodePointAt(highSurrogateAt3, 4); fail("string index out of bounds"); } catch (IndexOutOfRangeException) { } var java5 = CharacterUtils.GetInstance(TEST_VERSION_CURRENT); assertEquals((int)'A', java5.CodePointAt(cpAt3, 0)); assertEquals(Character.CodePointAt('\ud801', '\udc1c'), java5.CodePointAt(cpAt3, 3)); assertEquals((int)'\ud801', java5.CodePointAt(highSurrogateAt3, 3)); try { java5.CodePointAt(highSurrogateAt3, 4); fail("string index out of bounds"); } catch (System.IndexOutOfRangeException) { } }
/// <summary> /// Creates a new <seealso cref="CharTokenizer"/> instance /// </summary> /// <param name="matchVersion"> /// Lucene version to match </param> /// <param name="input"> /// the input to split up into tokens </param> protected CharTokenizer(LuceneVersion matchVersion, TextReader input) : base(input) { termAtt = AddAttribute <ICharTermAttribute>(); offsetAtt = AddAttribute <IOffsetAttribute>(); charUtils = CharacterUtils.GetInstance(matchVersion); }
public virtual void TestConversions() { var java4 = CharacterUtils.GetJava4Instance(TEST_VERSION_CURRENT); var java5 = CharacterUtils.GetInstance(TEST_VERSION_CURRENT); TestConversions(java4); TestConversions(java5); }
public virtual void TestCodePointCount() { var java4 = CharacterUtils.GetJava4Instance(TEST_VERSION_CURRENT); var java5 = CharacterUtils.GetInstance(TEST_VERSION_CURRENT); var s = TestUtil.RandomUnicodeString(Random); assertEquals(s.Length, java4.CodePointCount(s)); assertEquals(Character.CodePointCount(s, 0, s.Length), java5.CodePointCount(s)); }
internal V[] values; // package private because used in CharArraySet's non Set-conform CharArraySetIterator /// <summary> /// Create map with enough capacity to hold startSize terms /// </summary> /// <param name="matchVersion"> /// compatibility match version see <a href="#version">Version /// note</a> above for details. </param> /// <param name="startSize"> /// the initial capacity </param> /// <param name="ignoreCase"> /// <code>false</code> if and only if the set should be case sensitive /// otherwise <code>true</code>. </param> public CharArrayMap(LuceneVersion matchVersion, int startSize, bool ignoreCase) { this.ignoreCase = ignoreCase; int size = INIT_SIZE; while (startSize + (startSize >> 2) > size) { size <<= 1; } keys = new char[size][]; values = new V[size]; this.charUtils = CharacterUtils.GetInstance(matchVersion); this.matchVersion = matchVersion; }
internal V[] values; // package private because used in CharArraySet's non Set-conform CharArraySetIterator /// <summary> /// Create map with enough capacity to hold startSize terms /// </summary> /// <param name="matchVersion"> /// compatibility match version see <a href="#version">Version /// note</a> above for details. </param> /// <param name="startSize"> /// the initial capacity </param> /// <param name="ignoreCase"> /// <code>false</code> if and only if the set should be case sensitive /// otherwise <code>true</code>. </param> public CharArrayMap(Lucene.Net.Util.LuceneVersion matchVersion, int startSize, bool ignoreCase) { this.ignoreCase = ignoreCase; int size_Renamed = INIT_SIZE; while (startSize + (startSize >> 2) > size_Renamed) { size_Renamed <<= 1; } keys = new char[size_Renamed][]; values = (V[])new object[size_Renamed]; this.charUtils = CharacterUtils.GetInstance(matchVersion); this.matchVersion = matchVersion; }
public virtual void TestCodePointAtCharArrayIntInt() { #pragma warning disable 612, 618 var java4 = CharacterUtils.GetInstance(LuceneVersion.LUCENE_30); #pragma warning restore 612, 618 var cpAt3 = "Abc\ud801\udc1c".ToCharArray(); var highSurrogateAt3 = "Abc\ud801".ToCharArray(); assertEquals((int)'A', java4.CodePointAt(cpAt3, 0, 2)); assertEquals((int)'\ud801', java4.CodePointAt(cpAt3, 3, 5)); assertEquals((int)'\ud801', java4.CodePointAt(highSurrogateAt3, 3, 4)); var java5 = CharacterUtils.GetInstance(TEST_VERSION_CURRENT); assertEquals((int)'A', java5.CodePointAt(cpAt3, 0, 2)); assertEquals(Character.ToCodePoint('\ud801', '\udc1c'), java5.CodePointAt(cpAt3, 3, 5)); assertEquals((int)'\ud801', java5.CodePointAt(highSurrogateAt3, 3, 4)); }
public virtual void TestOffsetByCodePoint() { var java4 = CharacterUtils.GetJava4Instance(TEST_VERSION_CURRENT); var java5 = CharacterUtils.GetInstance(TEST_VERSION_CURRENT); for (int i = 0; i < 10; ++i) { var s = TestUtil.RandomUnicodeString(Random).toCharArray(); var index = TestUtil.NextInt32(Random, 0, s.Length); var offset = Random.Next(7) - 3; try { var to = java4.OffsetByCodePoints(s, 0, s.Length, index, offset); assertEquals(to, index + offset); } catch (Exception e) when(e.IsIndexOutOfBoundsException()) { assertTrue((index + offset) < 0 || (index + offset) > s.Length); } int o; try { o = java5.OffsetByCodePoints(s, 0, s.Length, index, offset); } catch (Exception e) when(e.IsIndexOutOfBoundsException()) { try { Character.OffsetByCodePoints(s, 0, s.Length, index, offset); fail(); } catch (Exception e2) when(e2.IsIndexOutOfBoundsException()) { // OK } o = -1; } if (o >= 0) { assertEquals(Character.OffsetByCodePoints(s, 0, s.Length, index, offset), o); } } }
public virtual void TestFillJava14() { var input = "1234\ud801\udc1c789123\ud801\ud801\udc1c\ud801"; var instance = CharacterUtils.GetInstance(LuceneVersion.LUCENE_30); var reader = new StringReader(input); var buffer = CharacterUtils.NewCharacterBuffer(5); assertTrue(instance.Fill(buffer, reader)); assertEquals(5, buffer.Length); assertEquals("1234\ud801", new string(buffer.Buffer, buffer.Offset, buffer.Length)); assertTrue(instance.Fill(buffer, reader)); assertEquals(5, buffer.Length); assertEquals("\udc1c7891", new string(buffer.Buffer)); buffer = CharacterUtils.NewCharacterBuffer(6); assertTrue(instance.Fill(buffer, reader)); assertEquals(6, buffer.Length); assertEquals("23\ud801\ud801\udc1c\ud801", new string(buffer.Buffer, buffer.Offset, buffer.Length)); assertFalse(instance.Fill(buffer, reader)); }
public virtual void TestFillNoHighSurrogate() { var versions = new LuceneVersion[] { LuceneVersion.LUCENE_30, TEST_VERSION_CURRENT }; foreach (var version in versions) { var instance = CharacterUtils.GetInstance(version); var reader = new StringReader("helloworld"); var buffer = CharacterUtils.NewCharacterBuffer(6); assertTrue(instance.Fill(buffer, reader)); assertEquals(0, buffer.Offset); assertEquals(6, buffer.Length); assertEquals("hellow", new string(buffer.Buffer)); assertFalse(instance.Fill(buffer, reader)); assertEquals(4, buffer.Length); assertEquals(0, buffer.Offset); assertEquals("orld", new string(buffer.Buffer, buffer.Offset, buffer.Length)); assertFalse(instance.Fill(buffer, reader)); } }
public virtual void TestFillJava15() { const string input = "1234\ud801\udc1c789123\ud801\ud801\udc1c\ud801"; var instance = CharacterUtils.GetInstance(TEST_VERSION_CURRENT); var reader = new StringReader(input); var buffer = CharacterUtils.NewCharacterBuffer(5); assertTrue(instance.Fill(buffer, reader)); assertEquals(4, buffer.Length); assertEquals("1234", new string(buffer.Buffer, buffer.Offset, buffer.Length)); assertTrue(instance.Fill(buffer, reader)); assertEquals(5, buffer.Length); assertEquals("\ud801\udc1c789", new string(buffer.Buffer)); assertTrue(instance.Fill(buffer, reader)); assertEquals(4, buffer.Length); assertEquals("123\ud801", new string(buffer.Buffer, buffer.Offset, buffer.Length)); assertFalse(instance.Fill(buffer, reader)); assertEquals(3, buffer.Length); assertEquals("\ud801\udc1c\ud801", new string(buffer.Buffer, buffer.Offset, buffer.Length)); assertFalse(instance.Fill(buffer, reader)); assertEquals(0, buffer.Length); }
/// <summary> /// LUCENENET specific - Added in the .NET version to assist with setting the attributes /// from multiple constructors. /// </summary> /// <param name="matchVersion"></param> private void Init(LuceneVersion matchVersion) { charUtils = CharacterUtils.GetInstance(matchVersion); termAtt = AddAttribute <ICharTermAttribute>(); offsetAtt = AddAttribute <IOffsetAttribute>(); }
/// <summary> /// Creates a new <seealso cref="CharTokenizer"/> instance /// </summary> /// <param name="matchVersion"> /// Lucene version to match </param> /// <param name="factory"> /// the attribute factory to use for this <seealso cref="Tokenizer"/> </param> /// <param name="input"> /// the input to split up into tokens </param> protected CharTokenizer(LuceneVersion matchVersion, AttributeFactory factory, TextReader input) : base(factory, input) { _input = input; charUtils = CharacterUtils.GetInstance(matchVersion); }