⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 epcgscalartest.java

📁 关于 RFID 读写器的相关内容
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package org.fosstrak.reader.rprm.core.mgmt.agent.snmp;

import junit.framework.TestCase;

import org.fosstrak.reader.rprm.core.AntennaReadPoint;
import org.fosstrak.reader.rprm.core.ReadPoint;
import org.fosstrak.reader.rprm.core.ReaderDevice;
import org.fosstrak.reader.rprm.core.mgmt.OperationalStatus;
import org.fosstrak.reader.rprm.core.mgmt.agent.snmp.EpcgScalar;
import org.fosstrak.reader.rprm.core.mgmt.agent.snmp.EpcgScalarType;
import org.fosstrak.reader.rprm.core.mgmt.agent.snmp.SnmpAgent;
import org.fosstrak.reader.rprm.core.mgmt.agent.snmp.mib.EpcglobalReaderMib;
import org.fosstrak.reader.rprm.core.mgmt.agent.snmp.table.SnmpTable;
import org.fosstrak.reader.rprm.core.mgmt.agent.snmp.table.SnmpTable.TableTypeEnum;
import org.fosstrak.reader.rprm.core.mgmt.alarm.AlarmLevel;
import org.fosstrak.reader.rprm.core.mgmt.util.SnmpUtil;
import org.fosstrak.reader.rprm.core.msg.MessageLayer;
import org.apache.log4j.xml.DOMConfigurator;
import org.snmp4j.agent.mo.MOAccessImpl;
import org.snmp4j.smi.Counter32;
import org.snmp4j.smi.Integer32;
import org.snmp4j.smi.OID;
import org.snmp4j.smi.OctetString;
import org.snmp4j.smi.UnsignedInteger32;

/**
 * Tests for the class <code>org.fosstrak.reader.mgmt.agent.snmp.EpcgScalar</code>.
 */
public class EpcgScalarTest extends TestCase {

	private ReaderDevice readerDevice;

	private EpcgScalar epcgRdrDevDescription;
	private EpcgScalar epcgRdrDevRole;
	private EpcgScalar epcgRdrDevEpc;
	private EpcgScalar epcgRdrDevSerialNumber;
//	private EpcgScalar epcgRdrDevTimeUtc;
	private EpcgScalar epcgRdrDevCurrentSource;
	private EpcgScalar epcgRdrDevReboot;
	private EpcgScalar epcgRdrDevResetStatistics;
//	private EpcgScalar epcgRdrDevResetTimestamp;
	private EpcgScalar epcgRdrDevNormalizePowerLevel;
	private EpcgScalar epcgRdrDevNormalizeNoiseLevel;
	private EpcgScalar epcgRdrDevOperStatus;
//	private EpcgScalar epcgRdrDevOperStatusPrior;
	private EpcgScalar epcgRdrDevOperStateEnable;
	private EpcgScalar epcgRdrDevOperNotifFromState;
	private EpcgScalar epcgRdrDevOperNotifToState;
	private EpcgScalar epcgRdrDevOperNotifStateLevel;
	private EpcgScalar epcgRdrDevOperStateSuppressInterval;
	private EpcgScalar epcgRdrDevOperStateSuppressions;
//	private EpcgScalar epcgRdrDevFreeMemory;
	private EpcgScalar epcgRdrDevFreeMemoryNotifEnable;
	private EpcgScalar epcgRdrDevFreeMemoryNotifLevel;
	private EpcgScalar epcgRdrDevFreeMemoryOnsetThreshold;
	private EpcgScalar epcgRdrDevFreeMemoryAbateThreshold;
	private EpcgScalar epcgRdrDevFreeMemoryStatus;
	private EpcgScalar epcgRdrDevMemStateSuppressInterval;
	private EpcgScalar epcgRdrDevMemStateSuppressions;
//	private EpcgScalar epcgReadPointPriorOperStatus;
//	private EpcgScalar epcgReadPointOperStateSuppressInterval;
	private EpcgScalar epcgReadPointOperStateSuppressions;
//	private EpcgScalar epcgAntRdPntSuppressInterval;
//	private EpcgScalar epcgIoPortOperStatusPrior;
//	private EpcgScalar epcgIoPortOperStateSuppressInterval;
	private EpcgScalar epcgIoPortOperStateSuppressions;
//	private EpcgScalar epcgSrcOperPriorStatus;
//	private EpcgScalar epcgSrcOperStateSuppressInterval;
	private EpcgScalar epcgSrcOperStateSuppressions;
//	private EpcgScalar epcgNotifChanOperStatusPrior;
//	private EpcgScalar epcgNotifChanOperStateSuppressInterval;
	private EpcgScalar epcgNotifChanOperStateSuppressions;
	private EpcgScalar sysDescr;
	private EpcgScalar sysLocation;
	private EpcgScalar sysContact;
//	private EpcgScalar sysUpTime;
	private EpcgScalar sysName;

	/**
	 * Sets up the test.
	 * @exception Exception An error occurred
	 */
	protected final void setUp() throws Exception {
		super.setUp();

		DOMConfigurator.configure("./target/classes/props/log4j.xml");
		if (SnmpAgent.getInstance() == null) {
			MessageLayer.main(new String[] { });
		}
		readerDevice = ReaderDevice.getInstance();

		epcgRdrDevDescription = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_DESCRIPTION, MOAccessImpl.ACCESS_READ_ONLY, null, readerDevice);
		epcgRdrDevRole = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_ROLE, MOAccessImpl.ACCESS_READ_ONLY, null, readerDevice);
		epcgRdrDevEpc = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_EPC, MOAccessImpl.ACCESS_READ_ONLY, null, readerDevice);
		epcgRdrDevSerialNumber = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_SERIAL_NUMBER, MOAccessImpl.ACCESS_READ_ONLY, null, readerDevice);
//		epcgRdrDevTimeUtc = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_TIME_UTC, MOAccessImpl.ACCESS_READ_ONLY, null, readerDevice);
		epcgRdrDevCurrentSource = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_CURRENT_SOURCE, MOAccessImpl.ACCESS_READ_ONLY, null, readerDevice);
		epcgRdrDevReboot = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_REBOOT, MOAccessImpl.ACCESS_READ_WRITE, null, readerDevice);
		epcgRdrDevResetStatistics = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_RESET_STATISTICS, MOAccessImpl.ACCESS_READ_WRITE, null, readerDevice);
//		epcgRdrDevResetTimestamp = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_RESET_TIMESTAMP, MOAccessImpl.ACCESS_READ_ONLY, new OctetString(""), readerDevice);
		epcgRdrDevNormalizePowerLevel = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_NORMALIZE_POWER_LEVEL, MOAccessImpl.ACCESS_READ_ONLY, null, readerDevice);
		epcgRdrDevNormalizeNoiseLevel = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_NORMALIZE_NOISE_LEVEL, MOAccessImpl.ACCESS_READ_ONLY, null, readerDevice);
		epcgRdrDevOperStatus = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_OPER_STATUS, MOAccessImpl.ACCESS_READ_ONLY, null, readerDevice);
//		epcgRdrDevOperStatusPrior = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_OPER_STATUS_PRIOR, MOAccessImpl.ACCESS_FOR_NOTIFY, new Integer32(OperationalStatus.UNKNOWN.toInt()), readerDevice);
		epcgRdrDevOperStateEnable = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_OPER_STATE_ENABLE, MOAccessImpl.ACCESS_READ_WRITE, null, readerDevice);
		epcgRdrDevOperNotifFromState = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_OPER_NOTIF_FROM_STATE, MOAccessImpl.ACCESS_READ_WRITE, null, readerDevice);
		epcgRdrDevOperNotifToState = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_OPER_NOTIF_TO_STATE, MOAccessImpl.ACCESS_READ_WRITE, null, readerDevice);
		epcgRdrDevOperNotifStateLevel = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_OPER_NOTIF_STATE_LEVEL, MOAccessImpl.ACCESS_READ_WRITE, null, readerDevice);
		epcgRdrDevOperStateSuppressInterval = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_OPER_STATE_SUPPRESS_INTERVAL, MOAccessImpl.ACCESS_READ_WRITE, new UnsignedInteger32(0), readerDevice);
		epcgRdrDevOperStateSuppressions = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_OPER_STATE_SUPPRESSIONS, MOAccessImpl.ACCESS_READ_ONLY, new Counter32(0), readerDevice);
//		epcgRdrDevFreeMemory = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_FREE_MEMORY, MOAccessImpl.ACCESS_READ_ONLY, null, readerDevice);
		epcgRdrDevFreeMemoryNotifEnable = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_FREE_MEMORY_NOTIF_ENABLE, MOAccessImpl.ACCESS_READ_WRITE, null, readerDevice);
		epcgRdrDevFreeMemoryNotifLevel = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_FREE_MEMORY_NOTIF_LEVEL, MOAccessImpl.ACCESS_READ_WRITE, null, readerDevice);
		epcgRdrDevFreeMemoryOnsetThreshold = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_FREE_MEMORY_ONSET_THRESHOLD, MOAccessImpl.ACCESS_READ_WRITE, null, readerDevice);
		epcgRdrDevFreeMemoryAbateThreshold = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_FREE_MEMORY_ABATE_THRESHOLD, MOAccessImpl.ACCESS_READ_WRITE, null, readerDevice);
		epcgRdrDevFreeMemoryStatus = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_FREE_MEMORY_STATUS, MOAccessImpl.ACCESS_READ_ONLY, null, readerDevice);
		epcgRdrDevMemStateSuppressInterval = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_MEM_STATE_SUPPRESS_INTERVAL, MOAccessImpl.ACCESS_READ_WRITE, new UnsignedInteger32(0), readerDevice);
		epcgRdrDevMemStateSuppressions = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_MEM_STATE_SUPPRESSIONS, MOAccessImpl.ACCESS_READ_ONLY, new Counter32(0), readerDevice);
//		epcgReadPointPriorOperStatus = new EpcgScalar(EpcgScalarType.EPCG_READ_POINT_PRIOR_OPER_STATUS, MOAccessImpl.ACCESS_FOR_NOTIFY, new Integer32(OperationalStatus.UNKNOWN.toInt()), readerDevice);
//		epcgReadPointOperStateSuppressInterval = new EpcgScalar(EpcgScalarType.EPCG_READ_POINT_OPER_STATE_SUPPRESS_INTERVAL, MOAccessImpl.ACCESS_READ_WRITE, new UnsignedInteger32(0), readerDevice);
//		epcgReadPointOperStateSuppressions = new EpcgScalar(EpcgScalarType.EPCG_READ_POINT_OPER_STATE_SUPPRESSIONS, MOAccessImpl.ACCESS_READ_ONLY, new Counter32(0), readerDevice);
//		epcgAntRdPntSuppressInterval = new EpcgScalar(EpcgScalarType.EPCG_ANT_RD_PNT_SUPPRESS_INTERVAL, MOAccessImpl.ACCESS_READ_WRITE, new UnsignedInteger32(0), readerDevice);
//		epcgIoPortOperStatusPrior = new EpcgScalar(EpcgScalarType.EPCG_IO_PORT_OPER_STATUS_PRIOR, MOAccessImpl.ACCESS_FOR_NOTIFY, new Integer32(OperationalStatus.UNKNOWN.toInt()), readerDevice);
//		epcgIoPortOperStateSuppressInterval = new EpcgScalar(EpcgScalarType.EPCG_IO_PORT_OPER_STATE_SUPPRESS_INTERVAL, MOAccessImpl.ACCESS_READ_WRITE, new UnsignedInteger32(0), readerDevice);
//		epcgIoPortOperStateSuppressions = new EpcgScalar(EpcgScalarType.EPCG_IO_PORT_OPER_STATE_SUPPRESSIONS, MOAccessImpl.ACCESS_READ_ONLY, new Counter32(0), readerDevice);
//		epcgSrcOperPriorStatus = new EpcgScalar(EpcgScalarType.EPCG_SRC_OPER_PRIOR_STATUS, MOAccessImpl.ACCESS_FOR_NOTIFY, new Integer32(OperationalStatus.UNKNOWN.toInt()), readerDevice);
//		epcgSrcOperStateSuppressInterval = new EpcgScalar(EpcgScalarType.EPCG_SRC_OPER_STATE_SUPPRESS_INTERVAL, MOAccessImpl.ACCESS_READ_WRITE, new UnsignedInteger32(0), readerDevice);
//		epcgSrcOperStateSuppressions = new EpcgScalar(EpcgScalarType.EPCG_SRC_OPER_STATE_SUPPRESSIONS, MOAccessImpl.ACCESS_READ_ONLY, new Counter32(0), readerDevice);
//		epcgNotifChanOperStatusPrior = new EpcgScalar(EpcgScalarType.EPCG_NOTIF_CHAN_OPER_STATUS_PRIOR, MOAccessImpl.ACCESS_FOR_NOTIFY, new Integer32(OperationalStatus.UNKNOWN.toInt()), readerDevice);
//		epcgNotifChanOperStateSuppressInterval = new EpcgScalar(EpcgScalarType.EPCG_NOTIF_CHAN_OPER_STATE_SUPPRESS_INTERVAL, MOAccessImpl.ACCESS_READ_WRITE, new UnsignedInteger32(0), readerDevice);
//		epcgNotifChanOperStateSuppressions = new EpcgScalar(EpcgScalarType.EPCG_NOTIF_CHAN_OPER_STATE_SUPPRESSIONS, MOAccessImpl.ACCESS_READ_ONLY, new Counter32(0), readerDevice);
		sysDescr = new EpcgScalar(EpcgScalarType.SYS_DESCR, MOAccessImpl.ACCESS_READ_ONLY, null, readerDevice);
		sysLocation = new EpcgScalar(EpcgScalarType.SYS_LOCATION, MOAccessImpl.ACCESS_READ_WRITE, null, readerDevice);
		sysContact = new EpcgScalar(EpcgScalarType.SYS_CONTACT, MOAccessImpl.ACCESS_READ_WRITE, null, readerDevice);
//		sysUpTime = new EpcgScalar(EpcgScalarType.SYS_UP_TIME, MOAccessImpl.ACCESS_READ_ONLY, null, readerDevice);
		sysName = new EpcgScalar(EpcgScalarType.SYS_NAME, MOAccessImpl.ACCESS_READ_WRITE, null, readerDevice);
	}

	/**
	 * Does the cleanup.
	 * @exception Exception An error occurred
	 */
	protected final void tearDown() throws Exception {
		super.tearDown();
	}

	/**
	 * Tests the <code>getValue()</code> method.
	 */
	public final void testGetValue() {
		assertEquals(new OctetString(readerDevice.getDescription()), epcgRdrDevDescription.getValue());

		assertEquals(new OctetString(readerDevice.getRole()), epcgRdrDevRole.getValue());

		assertEquals(new OctetString(readerDevice.getEPC()), epcgRdrDevEpc.getValue());

		assertEquals(new OctetString(readerDevice.getSerialNumber()), epcgRdrDevSerialNumber.getValue());

//		assertEquals(SnmpUtil.dateToOctetString(readerDevice.getTimeUTC()), epcgRdrDevTimeUtc.getValue()); // cannot test

		SnmpTable sourceTable = (SnmpTable)SnmpUtil.getSnmpTable(TableTypeEnum.EPCG_SOURCE_TABLE);
		String sourceName = readerDevice.getCurrentSource().getName();
		OID index = sourceTable.getTableRowIndexByValue(new OctetString(sourceName), EpcglobalReaderMib.idxEpcgSrcName);
		OID oid = new OID(EpcglobalReaderMib.oidEpcgSourceEntry);
		oid.append(EpcglobalReaderMib.colEpcgSrcName);
		oid.append(index);
		assertEquals(oid, epcgRdrDevCurrentSource.getValue());

		assertEquals(new Integer32(2), epcgRdrDevReboot.getValue());

		assertEquals(new Integer32(2), epcgRdrDevResetStatistics.getValue());

		// don't need to test epcgRdrDevResetTimestamp

		// epcgRdrDevNormalizePowerLevel // TODO: implement

		// epcgRdrDevNormalizeNoiseLevel // TODO: implement

		assertEquals(new Integer32(readerDevice.getOperStatus().toInt()), epcgRdrDevOperStatus.getValue());

		// don't need to test epcgRdrDevOperStatusPrior

		assertEquals(new Integer32(readerDevice.getOperStatusAlarmControl().getEnabled() ? 1 : 2), epcgRdrDevOperStateEnable.getValue());

		assertEquals(SnmpUtil.operStateToBITS(readerDevice.getOperStatusAlarmControl().getTriggerFromState()), epcgRdrDevOperNotifFromState.getValue());

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -