/******************************************************************************* * Copyright (c) 2014 Imperial College London * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Raul Castro Fernandez - initial API and implementation ******************************************************************************/ package uk.ac.imperial.lsds.seep.infrastructure.monitor.comm.serialization; import org.junit.After; import org.junit.AfterClass; import static org.junit.Assert.*; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import uk.ac.imperial.lsds.seep.infrastructure.monitor.policy.metric.MetricName; import uk.ac.imperial.lsds.seep.infrastructure.monitor.policy.metric.MetricUnit; import static uk.ac.imperial.lsds.seep.infrastructure.monitor.policy.metric.MetricValue.*; public class MetricsTupleTest { public MetricsTupleTest() { } @BeforeClass public static void setUpClass() { } @AfterClass public static void tearDownClass() { } @Before public void setUp() { } @After public void tearDown() { } @Test public void testTupleWithSingleMetric() { System.out.println("testTupleWithSingleMetric"); Double expectedValue = Double.valueOf(100); int expectedOperator = 1; MetricsTuple tuple = new MetricsTuple(); tuple.setOperatorId(expectedOperator); tuple.setMetricValue(MetricName.CPU_UTILIZATION, percent(expectedValue)); assertEquals("Operator identifier is incorrect", expectedOperator, tuple.getOperatorId()); assertEquals("Metric value in tuple is incorrect", expectedValue, Double.valueOf(tuple.getMetricValue(MetricName.CPU_UTILIZATION).getValue())); assertEquals("Metric unit in tuple is incorrect", MetricUnit.PERCENT, tuple.getMetricValue(MetricName.CPU_UTILIZATION).getUnit()); } @Test public void testTupleWithMultipleMetrics() { System.out.println("testTupleWithMultipleMetrics"); Double expectedValue1 = Double.valueOf(100); Integer expectedValue2 = Integer.valueOf(512); int expectedOperator = 1; MetricsTuple tuple = new MetricsTuple(); tuple.setOperatorId(expectedOperator); tuple.setMetricValue(MetricName.CPU_UTILIZATION, percent(expectedValue1)); tuple.setMetricValue(MetricName.HEAP_SIZE, mb(expectedValue2)); assertEquals("Operator identifier is incorrect", expectedOperator, tuple.getOperatorId()); assertEquals("Metric value in tuple is incorrect for " + MetricName.CPU_UTILIZATION.toString(), expectedValue1, Double.valueOf(tuple.getMetricValue(MetricName.CPU_UTILIZATION).getValue())); assertEquals("Metric value in tuple is incorrect for " + MetricName.HEAP_SIZE.toString(), expectedValue2.intValue(), Double.valueOf(tuple.getMetricValue(MetricName.HEAP_SIZE).getValue()).intValue()); assertEquals("Metric unit in tuple is incorrect for " + MetricName.CPU_UTILIZATION.toString(), MetricUnit.PERCENT, tuple.getMetricValue(MetricName.CPU_UTILIZATION).getUnit()); assertEquals("Metric unit in tuple is incorrect for " + MetricName.HEAP_SIZE.toString(), MetricUnit.MEGABYTES, tuple.getMetricValue(MetricName.HEAP_SIZE).getUnit()); } }