@Test public void testRecordConstructionWithFactory() { final WriterListener receiver = new WriterListener(); final IWriterRegistry<String> writerRegistry = new WriterRegistry(receiver); final String recordClassName = AfterOperationEvent.class.getName(); final IRecordFactory<? extends IMonitoringRecord> recordFactory = this.cachedRecordFactories.get(recordClassName); Assert.assertEquals(AfterOperationEventFactory.class, recordFactory.getClass()); final String operationSignature = "isEmpty()"; final String classSignature = "java.util.List"; final int orderIndex = 333; final long traceId = 666; final long timestamp = 111; final AfterOperationEvent expectedEvent = new AfterOperationEvent(timestamp, traceId, orderIndex, classSignature, operationSignature); expectedEvent.serialize(BinaryValueSerializer.create(this.buffer, writerRegistry)); this.buffer.flip(); final IMonitoringRecord event = recordFactory.create(BinaryValueDeserializer.create(this.buffer, receiver.getReaderRegistry())); Assert.assertEquals(expectedEvent.getClass(), event.getClass()); final AfterOperationEvent castedEvent = (AfterOperationEvent) event; Assert.assertEquals(expectedEvent.getTimestamp(), castedEvent.getTimestamp()); Assert.assertEquals(expectedEvent.getTraceId(), castedEvent.getTraceId()); Assert.assertEquals(expectedEvent.getOrderIndex(), castedEvent.getOrderIndex()); Assert.assertEquals(expectedEvent.getClassSignature(), castedEvent.getClassSignature()); Assert.assertEquals(expectedEvent.getOperationSignature(), castedEvent.getOperationSignature()); }
/** * Tests the constructor and writeBytes(..) methods of {@link AfterOperationEvent}. */ @Test public void testSerializeDeserializeBinaryEquals() { final AfterOperationEvent event1 = new AfterOperationEvent(TSTAMP, TRACE_ID, ORDER_INDEX, FQ_OPERATION_SIGNATURE, FQ_CLASSNAME); Assert.assertEquals("Unexpected timestamp", TSTAMP, event1.getTimestamp()); Assert.assertEquals("Unexpected trace ID", TRACE_ID, event1.getTraceId()); Assert.assertEquals("Unexpected order index", ORDER_INDEX, event1.getOrderIndex()); Assert.assertEquals("Unexpected class name", FQ_CLASSNAME, event1.getClassSignature()); Assert.assertEquals("Unexpected operation signature", FQ_OPERATION_SIGNATURE, event1.getOperationSignature()); final WriterListener receiver = new WriterListener(); final IWriterRegistry<String> stringRegistry = new WriterRegistry(receiver); final ByteBuffer buffer = ByteBuffer.allocate(event1.getSize()); event1.serialize(BinaryValueSerializer.create(buffer, stringRegistry)); buffer.flip(); final AfterOperationEvent event2 = new AfterOperationEvent(BinaryValueDeserializer.create(buffer, receiver.getReaderRegistry())); Assert.assertEquals(event1, event2); Assert.assertEquals(0, event1.compareTo(event2)); Assert.assertTrue(UtilityClass.refersToSameOperationAs(event1, event2)); }