Example #1
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldReturnIdImmediatelyAfterRecordIdOnlyOnce()
        public virtual void ShouldReturnIdImmediatelyAfterRecordIdOnlyOnce()
        {
            // given
            PrepareIdSequence idSequence = new SecondaryUnitPrepareIdSequence();
            IdSequence        actual     = mock(typeof(IdSequence));

            // when
            long       recordId     = 10;
            IdSequence prepared     = idSequence.apply(actual).apply(recordId);
            long       nextRecordId = prepared.NextId();

            assertEquals(10 + 1, nextRecordId);
            verifyNoMoreInteractions(actual);
            try
            {
                prepared.NextId();
                fail("Should've failed");
            }
            catch (System.InvalidOperationException)
            {               // good
            }

            // and when
            recordId     = 20;
            prepared     = idSequence.apply(actual).apply(recordId);
            nextRecordId = prepared.NextId();

            // then
            assertEquals(20 + 1, nextRecordId);
            verifyNoMoreInteractions(actual);
        }
 public override void Prepare(RECORD record, int recordSize, IdSequence idSequence)
 {
     _actual.prepare(record, recordSize, idSequence);
     if (!record.hasSecondaryUnitId())
     {
         record.SecondaryUnitId = idSequence.NextId();
     }
 }
Example #3
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldReturnIdImmediatelyAfterRecordId()
        public virtual void ShouldReturnIdImmediatelyAfterRecordId()
        {
            // given
            PrepareIdSequence idSequence = new SecondaryUnitPrepareIdSequence();
            IdSequence        actual     = mock(typeof(IdSequence));

            // when
            long       recordId     = 10;
            IdSequence prepared     = idSequence.apply(actual).apply(recordId);
            long       nextRecordId = prepared.NextId();

            // then
            assertEquals(10 + 1, nextRecordId);
            verifyNoMoreInteractions(actual);
        }
Example #4
0
 public override void Prepare(RECORD record, int recordSize, IdSequence idSequence)
 {
     if (record.inUse())
     {
         int  requiredLength        = _headerByte + RequiredDataLength(record);
         bool requiresSecondaryUnit = requiredLength > recordSize;
         record.RequiresSecondaryUnit = requiresSecondaryUnit;
         if (record.requiresSecondaryUnit() && !record.hasSecondaryUnitId())
         {
             // Allocate a new id at this point, but this is not the time to free this ID the the case where
             // this record doesn't need this secondary unit anymore... that needs to be done when applying to store.
             record.SecondaryUnitId = idSequence.NextId();
         }
     }
 }
Example #5
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldHandleRelationshipTypesBeyond2Bytes() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void ShouldHandleRelationshipTypesBeyond2Bytes()
        {
            // given
            RecordFormat <RelationshipTypeTokenRecord> format = HighLimit.RecordFormats.relationshipTypeToken();
            int typeId = 1 << ((sizeof(short) * 8) + (sizeof(sbyte) * 8)) - 1;
            RelationshipTypeTokenRecord record = new RelationshipTypeTokenRecord(typeId);
            int recordSize = format.GetRecordSize(NO_STORE_HEADER);

            record.Initialize(true, 10);
            IdSequence doubleUnits = mock(typeof(IdSequence));
            PageCursor cursor      = new StubPageCursor(0, ( int )kibiBytes(8));

            // when
            format.Prepare(record, recordSize, doubleUnits);
            format.Write(record, cursor, recordSize);
            verifyNoMoreInteractions(doubleUnits);

            // then
            RelationshipTypeTokenRecord read = new RelationshipTypeTokenRecord(typeId);

            format.Read(record, cursor, NORMAL, recordSize);
            assertEquals(record, read);
        }
 public StandardDynamicRecordAllocator(IdSequence idGenerator, int dataSize)
 {
     this.IdGenerator = idGenerator;
     this._dataSize   = dataSize;
 }
Example #7
0
 public override void Prepare(RECORD record, int recordSize, IdSequence idSequence)
 {
 }
 public override System.Func <long, IdSequence> Apply(IdSequence idSequence)
 {
     return(new NeighbourIdSequence());
 }
Example #9
0
 public override System.Func <long, IdSequence> Apply(IdSequence idSequence)
 {
     return(id => idSequence);
 }
Example #10
0
 public override void Prepare(RECORD record, int recordSize, IdSequence idSequence)
 {          // Do nothing by default
 }