public override bool Equals(System.Object other)
        {
            if (other == this)
            {
                return(true);
            }

            if (other is TermAttribute)
            {
                InitTermBuffer();
                TermAttributeImpl o = ((TermAttributeImpl)other);
                o.InitTermBuffer();

                if (termLength != o.termLength)
                {
                    return(false);
                }
                for (int i = 0; i < termLength; i++)
                {
                    if (termBuffer[i] != o.termBuffer[i])
                    {
                        return(false);
                    }
                }
                return(true);
            }

            return(false);
        }
Example #2
0
        public virtual void  TestToString()
        {
            char[]            b = new char[] { 'a', 'l', 'o', 'h', 'a' };
            TermAttributeImpl t = new TermAttributeImpl();

            t.SetTermBuffer(b, 0, 5);
            Assert.AreEqual("term=aloha", t.ToString());

            t.SetTermBuffer("hi there");
            Assert.AreEqual("term=hi there", t.ToString());
        }
        public override System.Object Clone()
        {
            TermAttributeImpl t = (TermAttributeImpl)base.Clone();

            // Do a deep clone
            if (termBuffer != null)
            {
                t.termBuffer = new char[termBuffer.Length];
                termBuffer.CopyTo(t.termBuffer, 0);
            }
            return(t);
        }
Example #4
0
        public virtual void  TestClone()
        {
            TermAttributeImpl t = new TermAttributeImpl();

            char[] content = "hello".ToCharArray();
            t.SetTermBuffer(content, 0, 5);
            char[]            buf  = t.TermBuffer();
            TermAttributeImpl copy = (TermAttributeImpl)TestSimpleAttributeImpls.AssertCloneIsEqual(t);

            Assert.AreEqual(t.Term(), copy.Term());
            Assert.AreNotSame(buf, copy.TermBuffer());
        }
		public virtual void  TestResize()
		{
			TermAttributeImpl t = new TermAttributeImpl();
			char[] content = "hello".ToCharArray();
			t.SetTermBuffer(content, 0, content.Length);
			for (int i = 0; i < 2000; i++)
			{
				t.ResizeTermBuffer(i);
				Assert.IsTrue(i <= t.TermBuffer().Length);
				Assert.AreEqual("hello", t.Term());
			}
		}
Example #6
0
        public virtual void  TestResize()
        {
            TermAttributeImpl t = new TermAttributeImpl();

            char[] content = "hello".ToCharArray();
            t.SetTermBuffer(content, 0, content.Length);
            for (int i = 0; i < 2000; i++)
            {
                t.ResizeTermBuffer(i);
                Assert.IsTrue(i <= t.TermBuffer().Length);
                Assert.AreEqual("hello", t.Term());
            }
        }
Example #7
0
        public virtual void  TestEquals()
        {
            TermAttributeImpl t1a = new TermAttributeImpl();

            char[] content1a = "hello".ToCharArray();
            t1a.SetTermBuffer(content1a, 0, 5);
            TermAttributeImpl t1b = new TermAttributeImpl();

            char[] content1b = "hello".ToCharArray();
            t1b.SetTermBuffer(content1b, 0, 5);
            TermAttributeImpl t2 = new TermAttributeImpl();

            char[] content2 = "hello2".ToCharArray();
            t2.SetTermBuffer(content2, 0, 6);
            Assert.IsTrue(t1a.Equals(t1b));
            Assert.IsFalse(t1a.Equals(t2));
            Assert.IsFalse(t2.Equals(t1b));
        }
Example #8
0
        public virtual void  TestMixedStringArray()
        {
            TermAttributeImpl t = new TermAttributeImpl();

            t.SetTermBuffer("hello");
            Assert.AreEqual(t.TermLength(), 5);
            Assert.AreEqual(t.Term(), "hello");
            t.SetTermBuffer("hello2");
            Assert.AreEqual(t.TermLength(), 6);
            Assert.AreEqual(t.Term(), "hello2");
            t.SetTermBuffer("hello3".ToCharArray(), 0, 6);
            Assert.AreEqual(t.Term(), "hello3");

            // Make sure if we get the buffer and change a character
            // that term() reflects the change
            char[] buffer = t.TermBuffer();
            buffer[1] = 'o';
            Assert.AreEqual(t.Term(), "hollo3");
        }
		public virtual void  TestGrow()
		{
			TermAttributeImpl t = new TermAttributeImpl();
			StringBuilder buf = new System.Text.StringBuilder("ab");

			for (int i = 0; i < 20; i++)
			{
				char[] content = buf.ToString().ToCharArray();
				t.SetTermBuffer(content, 0, content.Length);
				
                Assert.AreEqual(buf.Length, t.TermLength());
				Assert.AreEqual(buf.ToString(), t.Term());
				
                buf.Append(buf.ToString());
			}
			
            Assert.AreEqual(1048576, t.TermLength());
			Assert.AreEqual(1179654, t.TermBuffer().Length);
			
			// now as a string, first variant
			t = new TermAttributeImpl();
			buf = new System.Text.StringBuilder("ab");
			
            for (int i = 0; i < 20; i++)
			{
				System.String content = buf.ToString();
				t.SetTermBuffer(content, 0, content.Length);
			
                Assert.AreEqual(content.Length, t.TermLength());
				Assert.AreEqual(content, t.Term());
				
                buf.Append(content);
			}
			
            Assert.AreEqual(1048576, t.TermLength());
			Assert.AreEqual(1179654, t.TermBuffer().Length);
			
			// now as a string, second variant
			t = new TermAttributeImpl();
			buf = new System.Text.StringBuilder("ab");
			for (int i = 0; i < 20; i++)
			{
				System.String content = buf.ToString();
				t.SetTermBuffer(content);
				
                Assert.AreEqual(content.Length, t.TermLength());
				Assert.AreEqual(content, t.Term());
				
                buf.Append(content);
			}
			Assert.AreEqual(1048576, t.TermLength());
			Assert.AreEqual(1179654, t.TermBuffer().Length);
			
			// Test for slow growth to a long term
			t = new TermAttributeImpl();
			buf = new System.Text.StringBuilder("a");
			
            for (int i = 0; i < 20000; i++)
			{
				System.String content = buf.ToString();
				t.SetTermBuffer(content);
				
                Assert.AreEqual(content.Length, t.TermLength());
				Assert.AreEqual(content, t.Term());
				
                buf.Append("a");
			}
			
            Assert.AreEqual(20000, t.TermLength());
			Assert.AreEqual(20167, t.TermBuffer().Length);
			
			// Test for slow growth to a long term
			t = new TermAttributeImpl();
			buf = new System.Text.StringBuilder("a");
			
            for (int i = 0; i < 20000; i++)
			{
				System.String content = buf.ToString();
				t.SetTermBuffer(content);
				
                Assert.AreEqual(content.Length, t.TermLength());
				Assert.AreEqual(content, t.Term());
			
                buf.Append("a");
			}
			
            Assert.AreEqual(20000, t.TermLength());
			Assert.AreEqual(20167, t.TermBuffer().Length);
		}
		public virtual void  TestCopyTo()
		{
			TermAttributeImpl t = new TermAttributeImpl();
			TermAttributeImpl copy = (TermAttributeImpl) TestSimpleAttributeImpls.AssertCopyIsEqual(t);
			
            Assert.AreEqual("", t.Term());
			Assert.AreEqual("", copy.Term());
			
			t = new TermAttributeImpl();
			char[] content = "hello".ToCharArray();
			t.SetTermBuffer(content, 0, 5);
			
            char[] buf = t.TermBuffer();
			copy = (TermAttributeImpl) TestSimpleAttributeImpls.AssertCopyIsEqual(t);
			Assert.AreEqual(t.Term(), copy.Term());
			Assert.AreNotSame(buf, copy.TermBuffer());
		}
		public virtual void  TestEquals()
		{
			TermAttributeImpl t1a = new TermAttributeImpl();
			char[] content1a = "hello".ToCharArray();
			t1a.SetTermBuffer(content1a, 0, 5);
			
            TermAttributeImpl t1b = new TermAttributeImpl();
			char[] content1b = "hello".ToCharArray();
			t1b.SetTermBuffer(content1b, 0, 5);
			
            TermAttributeImpl t2 = new TermAttributeImpl();
			char[] content2 = "hello2".ToCharArray();
			t2.SetTermBuffer(content2, 0, 6);
			
            Assert.IsTrue(t1a.Equals(t1b));
			Assert.IsFalse(t1a.Equals(t2));
			Assert.IsFalse(t2.Equals(t1b));
		}
		public virtual void  TestMixedStringArray()
		{
			TermAttributeImpl t = new TermAttributeImpl();
			
            t.SetTermBuffer("hello");
			Assert.AreEqual(t.TermLength(), 5);
			Assert.AreEqual(t.Term(), "hello");
			
            t.SetTermBuffer("hello2");
			Assert.AreEqual(t.TermLength(), 6);
			Assert.AreEqual(t.Term(), "hello2");
			
            t.SetTermBuffer("hello3".ToCharArray(), 0, 6);
			Assert.AreEqual(t.Term(), "hello3");
			
			// Make sure if we get the buffer and change a character
			// that term() reflects the change
			char[] buffer = t.TermBuffer();
			buffer[1] = 'o';
			Assert.AreEqual(t.Term(), "hollo3");
		}
		public virtual void  TestToString()
		{
			char[] b = new char[]{'a', 'l', 'o', 'h', 'a'};
			TermAttributeImpl t = new TermAttributeImpl();
			
            t.SetTermBuffer(b, 0, 5);
            Assert.AreEqual("term=aloha", t.ToString());
			
			t.SetTermBuffer("hi there");
			Assert.AreEqual("term=hi there", t.ToString());
		}
Example #14
0
        public virtual void  TestGrow()
        {
            TermAttributeImpl t = new TermAttributeImpl();

            System.Text.StringBuilder buf = new System.Text.StringBuilder("ab");
            for (int i = 0; i < 20; i++)
            {
                char[] content = buf.ToString().ToCharArray();
                t.SetTermBuffer(content, 0, content.Length);
                Assert.AreEqual(buf.Length, t.TermLength());
                Assert.AreEqual(buf.ToString(), t.Term());
                buf.Append(buf.ToString());
            }
            Assert.AreEqual(1048576, t.TermLength());
            Assert.AreEqual(1179654, t.TermBuffer().Length);

            // now as a string, first variant
            t   = new TermAttributeImpl();
            buf = new System.Text.StringBuilder("ab");
            for (int i = 0; i < 20; i++)
            {
                System.String content = buf.ToString();
                t.SetTermBuffer(content, 0, content.Length);
                Assert.AreEqual(content.Length, t.TermLength());
                Assert.AreEqual(content, t.Term());
                buf.Append(content);
            }
            Assert.AreEqual(1048576, t.TermLength());
            Assert.AreEqual(1179654, t.TermBuffer().Length);

            // now as a string, second variant
            t   = new TermAttributeImpl();
            buf = new System.Text.StringBuilder("ab");
            for (int i = 0; i < 20; i++)
            {
                System.String content = buf.ToString();
                t.SetTermBuffer(content);
                Assert.AreEqual(content.Length, t.TermLength());
                Assert.AreEqual(content, t.Term());
                buf.Append(content);
            }
            Assert.AreEqual(1048576, t.TermLength());
            Assert.AreEqual(1179654, t.TermBuffer().Length);

            // Test for slow growth to a long term
            t   = new TermAttributeImpl();
            buf = new System.Text.StringBuilder("a");
            for (int i = 0; i < 20000; i++)
            {
                System.String content = buf.ToString();
                t.SetTermBuffer(content);
                Assert.AreEqual(content.Length, t.TermLength());
                Assert.AreEqual(content, t.Term());
                buf.Append("a");
            }
            Assert.AreEqual(20000, t.TermLength());
            Assert.AreEqual(20167, t.TermBuffer().Length);

            // Test for slow growth to a long term
            t   = new TermAttributeImpl();
            buf = new System.Text.StringBuilder("a");
            for (int i = 0; i < 20000; i++)
            {
                System.String content = buf.ToString();
                t.SetTermBuffer(content);
                Assert.AreEqual(content.Length, t.TermLength());
                Assert.AreEqual(content, t.Term());
                buf.Append("a");
            }
            Assert.AreEqual(20000, t.TermLength());
            Assert.AreEqual(20167, t.TermBuffer().Length);
        }