Package com.google.code.yanf4j.test.unittest.statistics

Source Code of com.google.code.yanf4j.test.unittest.statistics.SimpleStatisticsTest

package com.google.code.yanf4j.test.unittest.statistics;

import junit.framework.TestCase;

import com.google.code.yanf4j.statistics.Statistics;
import com.google.code.yanf4j.statistics.impl.SimpleStatistics;

public class SimpleStatisticsTest extends TestCase {

  Statistics statistics;

  @Override
  protected void setUp() throws Exception {
    statistics = new SimpleStatistics();
    statistics.start();
  }

  @Override
  protected void tearDown() throws Exception {
    statistics.stop();
    assertFalse(statistics.isStatistics());
  }

  public void testRead() throws Exception {
    assertTrue(statistics.isStatistics());
    assertEquals(0, statistics.getRecvMessageCount());
    assertEquals(0.0, statistics.getRecvMessageCountPerSecond());
    assertEquals(0, statistics.getRecvMessageTotalSize());
    assertEquals(0, statistics.getRecvMessageAverageSize());
    statistics.statisticsRead(4096);
    assertEquals(1, statistics.getRecvMessageCount());
    assertEquals(4096, statistics.getRecvMessageTotalSize());
    assertEquals(4096, statistics.getRecvMessageAverageSize());

    statistics.statisticsRead(1024);
    assertEquals(2, statistics.getRecvMessageCount());
    assertEquals(5120, statistics.getRecvMessageTotalSize());
    assertEquals(2560, statistics.getRecvMessageAverageSize());
    Thread.sleep(1000);
    assertEquals(2.0, statistics.getRecvMessageCountPerSecond(), 0.5);

    statistics.statisticsRead(512);
    assertEquals(3, statistics.getRecvMessageCount());
    assertEquals(5632, statistics.getRecvMessageTotalSize());
    assertEquals(1877, statistics.getRecvMessageAverageSize());
    assertEquals(3.0, statistics.getRecvMessageCountPerSecond(), 0.5);
    // 忽略0和负数
    statistics.statisticsRead(0);
    assertEquals(3, statistics.getRecvMessageCount());
    assertEquals(5632, statistics.getRecvMessageTotalSize());
    assertEquals(1877, statistics.getRecvMessageAverageSize());
    assertEquals(3.0, statistics.getRecvMessageCountPerSecond(), 0.5);

    statistics.statisticsRead(-100);
    assertEquals(3, statistics.getRecvMessageCount());
    assertEquals(5632, statistics.getRecvMessageTotalSize());
    assertEquals(1877, statistics.getRecvMessageAverageSize());
    assertEquals(3.0, statistics.getRecvMessageCountPerSecond(), 0.5);
   
    statistics.restart();
    assertEquals(0, statistics.getRecvMessageCount());
    assertEquals(0.0, statistics.getRecvMessageCountPerSecond());
    assertEquals(0, statistics.getRecvMessageTotalSize());
    assertEquals(0, statistics.getRecvMessageAverageSize());
  }

  public void testWrite() throws Exception {
    assertEquals(0, statistics.getWriteMessageCount());
    assertEquals(0.0, statistics.getWriteMessageCountPerSecond());
    assertEquals(0, statistics.getWriteMessageTotalSize());
    assertEquals(0, statistics.getWriteMessageAverageSize());
    statistics.statisticsWrite(4096);
    assertEquals(1, statistics.getWriteMessageCount());
    assertEquals(4096, statistics.getWriteMessageTotalSize());
    assertEquals(4096, statistics.getWriteMessageAverageSize());

    statistics.statisticsWrite(1024);
    assertEquals(2, statistics.getWriteMessageCount());
    assertEquals(5120, statistics.getWriteMessageTotalSize());
    assertEquals(2560, statistics.getWriteMessageAverageSize());
    Thread.sleep(1000);
    assertEquals(2.0, statistics.getWriteMessageCountPerSecond(), 0.5);

    statistics.statisticsWrite(512);
    assertEquals(3, statistics.getWriteMessageCount());
    assertEquals(5632, statistics.getWriteMessageTotalSize());
    assertEquals(1877, statistics.getWriteMessageAverageSize());
    assertEquals(3.0, statistics.getWriteMessageCountPerSecond(), 0.5);
    // 忽略负数和0
    statistics.statisticsWrite(0);
    assertEquals(3, statistics.getWriteMessageCount());
    assertEquals(5632, statistics.getWriteMessageTotalSize());
    assertEquals(1877, statistics.getWriteMessageAverageSize());
    assertEquals(3.0, statistics.getWriteMessageCountPerSecond(), 0.5);
    statistics.statisticsWrite(-1);
    assertEquals(3, statistics.getWriteMessageCount());
    assertEquals(5632, statistics.getWriteMessageTotalSize());
    assertEquals(1877, statistics.getWriteMessageAverageSize());
    assertEquals(3.0, statistics.getWriteMessageCountPerSecond(), 0.5);
  }

  public void testProcess() {
    // 初始状态
    assertEquals(0.0, statistics.getProcessedMessageAverageTime());
    assertEquals(0, statistics.getProcessedMessageCount());
    statistics.statisticsProcess(1500);
    assertEquals(1500.0, statistics.getProcessedMessageAverageTime(), 0.5);
    assertEquals(1, statistics.getProcessedMessageCount());
    // 允许0
    statistics.statisticsProcess(0);
    assertEquals(750.0, statistics.getProcessedMessageAverageTime(), 0.5);
    assertEquals(2, statistics.getProcessedMessageCount());

    statistics.statisticsProcess(987);
    assertEquals(829.0, statistics.getProcessedMessageAverageTime(), 0.5);
    assertEquals(3, statistics.getProcessedMessageCount());
    // 测试负数
    statistics.statisticsProcess(-100);
    assertEquals(829.0, statistics.getProcessedMessageAverageTime(), 0.5);
    assertEquals(3, statistics.getProcessedMessageCount());
  }

}
TOP

Related Classes of com.google.code.yanf4j.test.unittest.statistics.SimpleStatisticsTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.