public void Test_TAGProcessorStateBase_SetICCCAValue() { var state = new TAGProcessorStateBase(); Assert.True(state.ICRMVValues.GetLatest() == CellPassConsts.NullRMV, "Initial value incorrect"); state.SetICRMVValue(100); Assert.True(state.ICRMVValues.NumAttrs == 2 && state.ICRMVValues.GetLatest() == 100, "Initial value incorrect"); }
public override bool ProcessEmptyValue(TAGValueMatcherState state, TAGProcessorStateBase valueSink, TAGDictionaryItem valueType) { state.HaveSeenAnAbsoluteRMV = false; valueSink.SetICRMVValue(CellPassConsts.NullRMV); return(true); }
public override bool ProcessUnsignedIntegerValue(TAGValueMatcherState state, TAGProcessorStateBase valueSink, TAGDictionaryItem valueType, uint value) { state.HaveSeenAnAbsoluteRMV = true; bool result = false; if (valueType.Type == TAGDataType.t12bitUInt) { valueSink.SetICRMVValue((short)value); result = true; } return(result); }
public override bool ProcessIntegerValue(TAGValueMatcherState state, TAGProcessorStateBase valueSink, TAGDictionaryItem valueType, int value) { bool result = false; if (state.HaveSeenAnAbsoluteRMV && (valueType.Type == TAGDataType.t4bitInt || valueType.Type == TAGDataType.t8bitInt)) { if (((short)(valueSink.ICRMVValues.GetLatest()) + value) >= 0) { valueSink.SetICRMVValue((short)((short)(valueSink.ICRMVValues.GetLatest()) + value)); result = true; } } return(result); }