/** Test {@link ResourceUsageMetrics}. */ @Test public void testResourceUsageMetrics() throws Exception { final long cpuUsage = 100; final long pMemUsage = 200; final long vMemUsage = 300; final long heapUsage = 400; // test ResourceUsageMetrics's setters ResourceUsageMetrics metrics = new ResourceUsageMetrics(); metrics.setCumulativeCpuUsage(cpuUsage); metrics.setPhysicalMemoryUsage(pMemUsage); metrics.setVirtualMemoryUsage(vMemUsage); metrics.setHeapUsage(heapUsage); // test cpu usage value assertEquals("Cpu usage values mismatch via set", cpuUsage, metrics.getCumulativeCpuUsage()); // test pMem usage value assertEquals( "Physical memory usage values mismatch via set", pMemUsage, metrics.getPhysicalMemoryUsage()); // test vMem usage value assertEquals( "Virtual memory usage values mismatch via set", vMemUsage, metrics.getVirtualMemoryUsage()); // test heap usage value assertEquals("Heap usage values mismatch via set", heapUsage, metrics.getHeapUsage()); // test deepCompare() (pass case) testResourceUsageMetricViaDeepCompare(metrics, cpuUsage, vMemUsage, pMemUsage, heapUsage, true); // test deepCompare (fail case) // test cpu usage mismatch testResourceUsageMetricViaDeepCompare(metrics, 0, vMemUsage, pMemUsage, heapUsage, false); // test pMem usage mismatch testResourceUsageMetricViaDeepCompare(metrics, cpuUsage, vMemUsage, 0, heapUsage, false); // test vMem usage mismatch testResourceUsageMetricViaDeepCompare(metrics, cpuUsage, 0, pMemUsage, heapUsage, false); // test heap usage mismatch testResourceUsageMetricViaDeepCompare(metrics, cpuUsage, vMemUsage, pMemUsage, 0, false); // define a metric with a fixed value of size() ResourceUsageMetrics metrics2 = new ResourceUsageMetrics() { @Override public int size() { return -1; } }; metrics2.setCumulativeCpuUsage(cpuUsage); metrics2.setPhysicalMemoryUsage(pMemUsage); metrics2.setVirtualMemoryUsage(vMemUsage); metrics2.setHeapUsage(heapUsage); // test with size mismatch testResourceUsageMetricViaDeepCompare( metrics2, cpuUsage, vMemUsage, pMemUsage, heapUsage, false); }