package org.skywalking.apm.collector.worker.segment.analysis; import org.junit.Assert; import org.junit.Test; import org.skywalking.apm.collector.actor.*; import org.skywalking.apm.collector.worker.segment.persistence.SegmentCostSave; import java.lang.reflect.Field; import java.util.List; /** * @author pengys5 */ public class SegmentCostAnalysisTestCase { @Test public void aggWorkRefs() throws WorkerNotFoundException, NoSuchFieldException, IllegalAccessException { LocalWorkerContext localWorkerContext = new LocalWorkerContext(); WorkerRef workerRef = new LocalSyncWorkerRef(SegmentCostSave.Role.INSTANCE, null); localWorkerContext.put(workerRef); SegmentCostAnalysis analysis = new SegmentCostAnalysis(SegmentCostAnalysis.Role.INSTANCE, null, localWorkerContext); WorkerRefs workerRefs = analysis.aggWorkRefs(); Field testAField = workerRefs.getClass().getDeclaredField("workerRefs"); testAField.setAccessible(true); List<LocalSyncWorkerRef> list = (List<LocalSyncWorkerRef>) testAField.get(workerRefs); Assert.assertEquals(workerRef, list.get(0)); } }