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