gpt4 book ai didi

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

转载 作者:知者 更新时间:2024-03-13 10:47:59 25 4
gpt4 key购买 nike

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

ZigBeeTransactionFuture.<init>介绍

暂无

代码示例

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

/**
 * Sends a command, and uses the {@link ZigBeeTransactionMatcher} to match the response which will complete the
 * transaction.
 *
 * @param command the {@link ZigBeeCommand} to send
 * @param responseMatcher the {@link ZigBeeTransactionMatcher} to match the response which will complete the
 *            transaction.
 * @return the future {@link CommandResult}
 */
public Future<CommandResult> sendTransaction(ZigBeeCommand command, ZigBeeTransactionMatcher responseMatcher) {
  ZigBeeTransactionFuture transactionFuture = new ZigBeeTransactionFuture();
  ZigBeeTransaction transaction = new ZigBeeTransaction(this, command, responseMatcher);
  transaction.setFuture(transactionFuture);
  transaction.send();
  return transactionFuture;
}

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

@Override
  public Future<CommandResult> answer(InvocationOnMock invocation) {
    ZigBeeCommand command = (ZigBeeCommand) invocation.getArguments()[0];
    ZigBeeTransactionFuture commandFuture = new ZigBeeTransactionFuture();
    CommandResult result = new CommandResult(responses.get(command.getClusterId()));
    commandFuture.set(result);
    return commandFuture;
  }
}).when(networkManager).sendTransaction(ArgumentMatchers.any(ZigBeeCommand.class),

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

@Override
  public Future<CommandResult> answer(InvocationOnMock invocation) {
    ZigBeeCommand command = (ZigBeeCommand) invocation.getArguments()[0];
    ZigBeeTransactionFuture commandFuture = new ZigBeeTransactionFuture();
    CommandResult result = new CommandResult(responses.get(command.getClusterId()));
    commandFuture.set(result);
    return commandFuture;
  }
}).when(networkManager).sendTransaction(ArgumentMatchers.any(ZigBeeCommand.class),

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

/**
 * Broadcasts command i.e. does not wait for response.
 *
 * @param command the {@link ZigBeeCommand}
 * @return the {@link CommandResult} future.
 */
private Future<CommandResult> broadcast(final ZigBeeCommand command) {
  synchronized (command) {
    final ZigBeeTransactionFuture transactionFuture = new ZigBeeTransactionFuture();
    sendCommand(command);
    transactionFuture.set(new CommandResult(new BroadcastResponse()));
    return transactionFuture;
  }
}

代码示例来源: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 commandReceived() {
  ZigBeeTransactionManager transactionManager = Mockito.mock(ZigBeeTransactionManager.class);
  ZigBeeCommand command = Mockito.mock(ZigBeeCommand.class);
  Mockito.when(command.getTransactionId()).thenReturn(12);
  ZigBeeTransactionFuture transactionFuture = new ZigBeeTransactionFuture();
  ZigBeeCommand matchRequest = Mockito.mock(ZigBeeCommand.class);
  ZigBeeCommand nomatchRequest = Mockito.mock(ZigBeeCommand.class);
  ZigBeeTransactionMatcher matcher = Mockito.mock(ZigBeeTransactionMatcher.class);
  Mockito.when(matcher.isTransactionMatch(command, matchRequest)).thenReturn(true);
  Mockito.when(matcher.isTransactionMatch(command, nomatchRequest)).thenReturn(false);
  ZigBeeTransaction transaction = new ZigBeeTransaction(transactionManager, command, matcher);
  transaction.setFuture(transactionFuture);
  assertEquals(transactionFuture, transaction.getFuture());
  transaction.commandReceived(nomatchRequest);
  assertFalse(transactionFuture.isDone());
  assertFalse(transactionFuture.isCancelled());
  transaction.commandReceived(matchRequest);
  assertTrue(transactionFuture.isDone());
  assertFalse(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());
}

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

@Test
public void testDefaultTimeout() throws Exception {
  ZigBeeTransactionFuture future = new ZigBeeTransactionFuture();
  assertFalse(future.isDone());
  setField(ZigBeeTransactionFuture.class, future, "TIMEOUT_MILLISECONDS", (long) 0);
  CommandResult result = future.get();
  assertNull(result.getResponse());
}

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

@Test
public void testCancel() {
  ZigBeeTransactionFuture future = new ZigBeeTransactionFuture();
  assertFalse(future.isCancelled());
  assertTrue(future.cancel(true));
  assertFalse(future.cancel(true));
  assertTrue(future.isCancelled());
}

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

@Test
public void testIsDone() throws InterruptedException, ExecutionException, TimeoutException {
  ZigBeeTransactionFuture future = new ZigBeeTransactionFuture();
  assertFalse(future.isDone());
  CommandResult result = new CommandResult();
  future.set(result);
  assertTrue(future.isDone());
  assertEquals(result, future.get());
  assertEquals(result, future.get(0, TimeUnit.MICROSECONDS));
}

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

@Test
public void testTimeout() throws InterruptedException, ExecutionException, TimeoutException {
  ZigBeeTransactionFuture future = new ZigBeeTransactionFuture();
  assertFalse(future.isDone());
  assertNotNull(future.get(0, TimeUnit.MICROSECONDS));
  assertTrue(future.isDone());
  CommandResult result = future.get();
  assertNull(result.getResponse());
  assertFalse(future.cancel(true));
}

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com