com.zsmartsystems.zigbee.transaction.ZigBeeTransactionManager.scheduleTask()方法的使用及代码示例

x33g5p2x  于2022-02-05 转载在 其他  
字(5.9k)|赞(0)|评价(0)|浏览(121)

本文整理了Java中com.zsmartsystems.zigbee.transaction.ZigBeeTransactionManager.scheduleTask()方法的一些代码示例,展示了ZigBeeTransactionManager.scheduleTask()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZigBeeTransactionManager.scheduleTask()方法的具体详情如下:
包路径:com.zsmartsystems.zigbee.transaction.ZigBeeTransactionManager
类名称:ZigBeeTransactionManager
方法名:scheduleTask

ZigBeeTransactionManager.scheduleTask介绍

暂无

代码示例

代码示例来源:origin: zsmartsystems/com.zsmartsystems.zigbee

private void startTimer(int timeout) {
  if (timeoutTask != null) {
    timeoutTask.cancel(false);
  }
  // Schedule a task to timeout the transaction
  timeoutTask = transactionManager.scheduleTask(new Runnable() {
    @Override
    public void run() {
      cancelTransaction();
    }
  }, timeout);
}

代码示例来源:origin: zsmartsystems/com.zsmartsystems.zigbee

@Test
public void testRxNak() {
  ZigBeeTransactionManager transactionManager = Mockito.mock(ZigBeeTransactionManager.class);
  ZigBeeCommand command = Mockito.mock(ZigBeeCommand.class);
  Mockito.when(command.getTransactionId()).thenReturn(12);
  ZigBeeTransactionMatcher matcher = Mockito.mock(ZigBeeTransactionMatcher.class);
  ZigBeeTransactionFuture transactionFuture = new ZigBeeTransactionFuture();
  ZigBeeTransaction transaction = new ZigBeeTransaction(transactionManager, command, matcher);
  transaction.setFuture(transactionFuture);
  transaction.send();
  Mockito.verify(transactionManager, Mockito.times(1)).scheduleTask(ArgumentMatchers.any(Runnable.class),
      ArgumentMatchers.anyLong());
  Mockito.verify(transactionManager, Mockito.times(1)).addTransactionListener(transaction);
  Mockito.verify(transactionManager, Mockito.times(1)).send(command);
  transaction.commandStatusReceived(ZigBeeTransportProgressState.TX_ACK, 12);
  Mockito.verify(transactionManager, Mockito.times(2)).scheduleTask(ArgumentMatchers.any(Runnable.class),
      ArgumentMatchers.anyLong());
  transaction.commandStatusReceived(ZigBeeTransportProgressState.RX_NAK, 12);
  Mockito.verify(transactionManager, Mockito.times(1)).removeTransactionListener(transaction);
  assertTrue(transactionFuture.isDone());
  assertTrue(transactionFuture.isCancelled());
}

代码示例来源:origin: zsmartsystems/com.zsmartsystems.zigbee

@Test
public void testTimeout() {
  ZigBeeTransactionManager transactionManager = Mockito.mock(ZigBeeTransactionManager.class);
  ScheduledFuture timerFuture = Mockito.mock(ScheduledFuture.class);
  ZigBeeCommand command = Mockito.mock(ZigBeeCommand.class);
  ZigBeeTransactionMatcher matcher = Mockito.mock(ZigBeeTransactionMatcher.class);
  ZigBeeTransactionFuture transactionFuture = new ZigBeeTransactionFuture();
  ZigBeeTransaction transaction = new ZigBeeTransaction(transactionManager, command, matcher);
  transaction.setFuture(transactionFuture);
  ArgumentCaptor<Runnable> timerCaptor = ArgumentCaptor.forClass(Runnable.class);
  Mockito.when(transactionManager.scheduleTask(timerCaptor.capture(), ArgumentMatchers.anyLong()))
      .thenReturn(timerFuture);
  transaction.send();
  Mockito.verify(transactionManager, Mockito.times(1)).addTransactionListener(transaction);
  Mockito.verify(transactionManager, Mockito.times(1)).send(command);
  Runnable timeout = timerCaptor.getValue();
  assertNotNull(timeout);
  assertFalse(transactionFuture.isDone());
  assertFalse(transactionFuture.isCancelled());
  timeout.run();
  Mockito.verify(transactionManager, Mockito.times(1)).removeTransactionListener(transaction);
  assertTrue(transactionFuture.isDone());
  assertTrue(transactionFuture.isCancelled());
}

代码示例来源:origin: zsmartsystems/com.zsmartsystems.zigbee

@Test
public void testTxNak() {
  ZigBeeTransactionManager transactionManager = Mockito.mock(ZigBeeTransactionManager.class);
  ZigBeeCommand command = Mockito.mock(ZigBeeCommand.class);
  Mockito.when(command.getTransactionId()).thenReturn(12);
  ZigBeeTransactionMatcher matcher = Mockito.mock(ZigBeeTransactionMatcher.class);
  ZigBeeTransactionFuture transactionFuture = new ZigBeeTransactionFuture();
  ZigBeeTransaction transaction = new ZigBeeTransaction(transactionManager, command, matcher);
  transaction.setFuture(transactionFuture);
  transaction.send();
  Mockito.verify(transactionManager, Mockito.times(1)).scheduleTask(ArgumentMatchers.any(Runnable.class),
      ArgumentMatchers.anyLong());
  Mockito.verify(transactionManager, Mockito.times(1)).addTransactionListener(transaction);
  Mockito.verify(transactionManager, Mockito.times(1)).send(ArgumentMatchers.any(ZigBeeCommand.class));
  // Wrong TID so gets ignored
  transaction.commandStatusReceived(ZigBeeTransportProgressState.TX_NAK, 123);
  assertFalse(transactionFuture.isDone());
  assertFalse(transactionFuture.isCancelled());
  // Correct TID
  transaction.commandStatusReceived(ZigBeeTransportProgressState.TX_NAK, 12);
  Mockito.verify(transactionManager, Mockito.times(1)).removeTransactionListener(transaction);
  assertTrue(transactionFuture.isDone());
  assertTrue(transactionFuture.isCancelled());
}

代码示例来源:origin: zsmartsystems/com.zsmartsystems.zigbee

@Test
public void testSendOnly() {
  ZigBeeTransactionManager transactionManager = Mockito.mock(ZigBeeTransactionManager.class);
  ZigBeeCommand command = Mockito.mock(ZigBeeCommand.class);
  Mockito.when(command.getTransactionId()).thenReturn(12);
  ZigBeeTransactionFuture transactionFuture = new ZigBeeTransactionFuture();
  ZigBeeTransaction transaction = new ZigBeeTransaction(transactionManager, command, null);
  transaction.setFuture(transactionFuture);
  transaction.send();
  Mockito.verify(transactionManager, Mockito.times(1)).scheduleTask(ArgumentMatchers.any(Runnable.class),
      ArgumentMatchers.anyLong());
  Mockito.verify(transactionManager, Mockito.times(1)).send(command);
  Mockito.verify(transactionManager, Mockito.times(0)).addTransactionListener(transaction);
  // Wrong TID so gets ignored
  transaction.commandStatusReceived(ZigBeeTransportProgressState.TX_NAK, 123);
  assertFalse(transactionFuture.isDone());
  assertFalse(transactionFuture.isCancelled());
  // Correct TID
  transaction.commandStatusReceived(ZigBeeTransportProgressState.TX_ACK, 12);
  Mockito.verify(transactionManager, Mockito.times(0)).removeTransactionListener(transaction);
  assertTrue(transactionFuture.isDone());
  assertFalse(transactionFuture.isCancelled());
}

相关文章