@Override public PropertyKeyTokenRecord newRecord() { return new PropertyKeyTokenRecord( -1 ); }
@Override public PropertyKeyTokenRecord newUnused( long key, Void additionalData ) { return andMarkAsCreated( new PropertyKeyTokenRecord( toIntExact( key ) ) ); }
public void propertyKey( int id, String key, int... dynamicIds ) { PropertyKeyTokenRecord before = new PropertyKeyTokenRecord( id ); PropertyKeyTokenRecord after = withName( new PropertyKeyTokenRecord( id ), dynamicIds, key ); otherCommands.add( new Command.PropertyKeyTokenCommand( before, after ) ); }
public static PropertyKeyTokenCommand createPropertyKeyToken( int id, int nameId ) { PropertyKeyTokenRecord before = new PropertyKeyTokenRecord( id ); PropertyKeyTokenRecord after = new PropertyKeyTokenRecord( id ); populateTokenRecord( after, nameId ); return new PropertyKeyTokenCommand( before, after ); }
@Test void shouldNotReportAnythingForRecordNotInUse() { // given PropertyKeyTokenRecord key = notInUse( new PropertyKeyTokenRecord( 42 ) ); // when PropertyKeyTokenConsistencyReport report = check( key ); // then verifyNoMoreInteractions( report ); }
@Test void shouldNotReportAnythingForRecordThatDoesNotReferenceADynamicBlock() { // given PropertyKeyTokenRecord key = inUse( new PropertyKeyTokenRecord( 42 ) ); // when PropertyKeyTokenConsistencyReport report = check( key ); // then verifyNoMoreInteractions( report ); }
@Override public Generator<PropertyKeyTokenRecord> propertyKeyToken() { return ( recordSize, format, recordId ) -> new PropertyKeyTokenRecord( toIntExact( recordId ) ).initialize( random.nextBoolean(), random.nextInt( tokenBits ), abs( random.nextInt() ) ); }
public void create( PropertyKeyTokenRecord token ) { token.setCreated(); update( new PropertyKeyTokenRecord( token.getIntId() ), token ); }
private PropertyKeyTokenRecord createPropertyKeyTokenRecord( int id ) { PropertyKeyTokenRecord propertyKeyTokenRecord = new PropertyKeyTokenRecord( id ); propertyKeyTokenRecord.setInUse( true ); propertyKeyTokenRecord.setNameId( 333 ); propertyKeyTokenRecord.addNameRecord( new DynamicRecord( 43 ) ); return propertyKeyTokenRecord; } }
@Test void shouldReportTooHighEpochSecondDateTimeRecord() { // given PropertyRecord property = inUse( new PropertyRecord( 42 ) ); final int keyId = 6; add( inUse( new PropertyKeyTokenRecord( keyId ) ) ); final long[] longs = TemporalType.encodeDateTime( keyId, Instant.MAX.getEpochSecond() + 1,1, 0 ); expectInvalidPropertyValue( property, longs ); }
@Test void shouldReportTooHighEpochSecondDateTimeRecordWithNamedTZ() { // given PropertyRecord property = inUse( new PropertyRecord( 42 ) ); final int keyId = 6; add( inUse( new PropertyKeyTokenRecord( keyId ) ) ); final long[] longs = TemporalType.encodeDateTime( keyId, Instant.MAX.getEpochSecond() + 1,1, "Europe/London" ); expectInvalidPropertyValue( property, longs ); }
@Test void shouldReportTooHighEpochSecondLocalDateTimeRecord() { // given PropertyRecord property = inUse( new PropertyRecord( 42 ) ); final int keyId = 6; add( inUse( new PropertyKeyTokenRecord( keyId ) ) ); final long[] longs = TemporalType.encodeLocalDateTime( keyId, Instant.MAX.getEpochSecond() + 1,1 ); expectInvalidPropertyValue( property, longs ); }
private PropertyBlock propertyBlockWith( DynamicRecord dynamicRecord ) { PropertyBlock propertyBlock = new PropertyBlock(); PropertyKeyTokenRecord key = new PropertyKeyTokenRecord( 10 ); propertyBlock.setSingleBlock( key.getId() | (((long) PropertyType.STRING.intValue()) << 24) | (dynamicRecord .getId() << 28) ); propertyBlock.addValueRecord( dynamicRecord ); return propertyBlock; } }
@Test void shouldReport15DimensionalPointRecord() { // given PropertyRecord property = inUse( new PropertyRecord( 42 ) ); final int keyId = 6; add( inUse( new PropertyKeyTokenRecord( keyId ) ) ); final long[] longs = GeometryType.encodePoint( keyId, CoordinateReferenceSystem.WGS84, new double[] { 1.0, 2.0 } ); // corrupt array long dimensionBits = 0xFL << StandardFormatSettings.PROPERTY_TOKEN_MAXIMUM_ID_BITS + 8; longs[0] |= dimensionBits; expectInvalidPropertyValue( property, longs ); }
@Test void shouldReportUnknownGTypeGeometryRecord() { // given PropertyRecord property = inUse( new PropertyRecord( 42 ) ); final int keyId = 6; add( inUse( new PropertyKeyTokenRecord( keyId ) ) ); final long[] longs = GeometryType.encodePoint( keyId, CoordinateReferenceSystem.WGS84, new double[] { 1.0, 2.0 } ); // corrupt array long gtypeBits = 0xFL << StandardFormatSettings.PROPERTY_TOKEN_MAXIMUM_ID_BITS + 4; longs[0] |= gtypeBits; expectInvalidPropertyValue( property, longs ); }
@Test void shouldReportTooHighLocalTimeRecord() { // given PropertyRecord property = inUse( new PropertyRecord( 42 ) ); final int keyId = 6; add( inUse( new PropertyKeyTokenRecord( keyId ) ) ); final long[] longs = TemporalType.encodeLocalTime( keyId, LocalTime.MAX.toNanoOfDay() + 1 ); expectInvalidPropertyValue( property, longs ); }
@Test void shouldReportTooHighNanoTimeRecord() { // given PropertyRecord property = inUse( new PropertyRecord( 42 ) ); final int keyId = 6; add( inUse( new PropertyKeyTokenRecord( keyId ) ) ); final long[] longs = TemporalType.encodeTime( keyId, LocalTime.MAX.toNanoOfDay() + 1, 0 ); expectInvalidPropertyValue( property, longs ); }
@Test void shouldReportTooHighDateRecord() { // given PropertyRecord property = inUse( new PropertyRecord( 42 ) ); final int keyId = 6; add( inUse( new PropertyKeyTokenRecord( keyId ) ) ); final long[] longs = TemporalType.encodeDate( keyId, LocalDate.MAX.toEpochDay() + 1 ); expectInvalidPropertyValue( property, longs ); }
@Test void shouldReportTooHighOffsetSecondDateTimeRecord() { // given PropertyRecord property = inUse( new PropertyRecord( 42 ) ); final int keyId = 6; add( inUse( new PropertyKeyTokenRecord( keyId ) ) ); final long[] longs = TemporalType.encodeDateTime( keyId, 1,1, ZoneOffset.MAX.getTotalSeconds() + 1 ); expectInvalidPropertyValue( property, longs ); }
@Test void shouldReportTooHighOffsetSecondTimeRecord() { // given PropertyRecord property = inUse( new PropertyRecord( 42 ) ); final int keyId = 6; add( inUse( new PropertyKeyTokenRecord( keyId ) ) ); final long[] longs = TemporalType.encodeTime( keyId, 1, ZoneOffset.MAX.getTotalSeconds() + 1 ); expectInvalidPropertyValue( property, longs ); }