Esempio n. 1
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldKeepIdsAndMarkDuplicates()
        public virtual void ShouldKeepIdsAndMarkDuplicates()
        {
            // given
            int length = 10_000;

            using (BigIdTracker tracker = new BigIdTracker(NumberArrayFactory.HEAP.newByteArray(length, BigIdTracker.DefaultValue)))
            {
                // when
                long[] values = new long[length];
                bool[] marks  = new bool[length];
                for (int i = 0; i < length; i++)
                {
                    tracker.Set(i, values[i] = Random.nextLong(MAX_ID));
                    if (Random.nextBoolean())
                    {
                        tracker.MarkAsDuplicate(i);
                        marks[i] = true;
                    }
                }

                // then
                for (int i = 0; i < length; i++)
                {
                    assertEquals(values[i], tracker.Get(i));
                    assertEquals(marks[i], tracker.IsMarkedAsDuplicate(i));
                }
            }
        }
Esempio n. 2
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldEncodeRandomLongs()
        public virtual void ShouldEncodeRandomLongs()
        {
            for (int i = 0; i < 100_000_000; i++)
            {
                long reference = Limit(Random.nextLong());
                AssertDecodedMatchesEncoded(reference);
            }
        }
Esempio n. 3
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test void shouldPutAndGet6BLongs()
        internal virtual void ShouldPutAndGet6BLongs()
        {
            // GIVEN
            PageCursor cursor = ByteArrayPageCursor.wrap(10);

            // WHEN
            for (int i = 0; i < 1_000; i++)
            {
                long expected = _random.nextLong() & _6B_MASK;
                cursor.Offset = 0;
                PageCursorUtil.Put6BLong(cursor, expected);
                cursor.Offset = 0;
                long read = PageCursorUtil.Get6BLong(cursor);

                // THEN
                assertEquals(expected, read);
                assertTrue(read >= 0);
                assertEquals(0, read & ~_6B_MASK);
            }
        }
Esempio n. 4
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test void randomizedTest()
        internal virtual void RandomizedTest()
        {
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final int count = 10000 + rnd.nextInt(1000);
            int count = 10000 + _rnd.Next(1000);

//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final org.eclipse.collections.api.set.primitive.MutableLongSet uniqueValues = new org.eclipse.collections.impl.set.mutable.primitive.LongHashSet();
            MutableLongSet uniqueValues = new LongHashSet();

            while (uniqueValues.size() < count)
            {
                uniqueValues.add(_rnd.nextLong());
            }

//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final long[] values = uniqueValues.toArray();
            long[] values = uniqueValues.toArray();

            foreach (long v in values)
            {
                assertTrue(_set.add(v));
            }
            shuffle(values);
            foreach (long v in values)
            {
                assertTrue(_set.contains(v));
                assertFalse(_set.add(v));
            }
            assertTrue(_set.containsAll(values));

//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final long[] toRemove = uniqueValues.select(v -> rnd.nextInt(100) < 75).toArray();
            long[] toRemove = uniqueValues.select(v => _rnd.Next(100) < 75).toArray();
            shuffle(toRemove);

            foreach (long v in toRemove)
            {
                assertTrue(_set.remove(v));
                assertFalse(_set.contains(v));
            }

            assertEquals(count - toRemove.Length, _set.size());
        }