如何使此终端应用程序通过节点测试?

斯蒂芬·席尔瓦(Stephen Silva)

所以这是一个小型的终端游戏,剪刀石头布的,我需要编写其余代码的帮助,以便它可以通过我的节点测试。我已经能够编写代码并输入hand1和hand2的决策,并获得显示谁获胜的结果,但是当我运行它们时,它似乎并没有通过节点测试。

节点测试将“领带”检测为正确的,但未检测出获胜的手或擦洗输入为正确的,但是当我在终端中使用它时,所有操作均有效。这是节点测试所说的图像

需要重写的代码在下面的函数rockPaperScissors(hand1,hand2)中

    'use strict';

const assert = require('assert');
const readline = require('readline');
const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout
});


function rockPaperScissors(hand1, hand2) {

  if (hand1 === hand2) {
    return "It's a tie!";
  } else if (hand1 === 'rock') {
    if (hand2 === 'paper') {
      return "Hand two wins!";
    } else if (hand2 === 'scissors') {
      return "Hand one wins!";
    } 
  }

  if (hand1 === 'paper') {
    if (hand2 === 'rock') {
      return "Hand one wins!";
    } else if (hand2 === 'scissors') {
      return "Hand two wins!";
    }
  }

  if (hand1 === 'scissors') {
    if (hand2 === 'paper') {
      return "Hand one wins!";
    } else if (hand2 === 'rock') {
      return "Hand two wins!";
    }
  }




}











function getPrompt() {
  rl.question('hand1: ', (answer1) => {
    rl.question('hand2: ', (answer2) => {
      console.log( rockPaperScissors(answer1, answer2) );
      getPrompt();
    });
  });
}

// Tests

if (typeof describe === 'function') {

  describe('#rockPaperScissors()', () => {
    it('should detect a tie', () => {
      assert.equal(rockPaperScissors('rock', 'rock'), "It's a tie!");
      assert.equal(rockPaperScissors('paper', 'paper'), "It's a tie!");
      assert.equal(rockPaperScissors('scissors', 'scissors'), "It's a tie!");
    });
    it('should detect which hand won', () => {
      assert.equal(rockPaperScissors('rock', 'paper'), "Hand two wins!");
      assert.equal(rockPaperScissors('paper', 'scissors'), "Hand two wins!");
      assert.equal(rockPaperScissors('rock', 'scissors'), "Hand one wins!");
    });
    it('should scrub input to ensure lowercase with "trim"ed whitepace', () => {
      assert.equal(rockPaperScissors('rOcK', ' paper '), "Hand two wins!");
      assert.equal(rockPaperScissors('Paper', 'SCISSORS'), "Hand two wins!");
      assert.equal(rockPaperScissors('rock ', 'sCiSsOrs'), "Hand one wins!");
    });
  });
} else {

  getPrompt();

}
hiral2

您必须修剪小写hand1hand2参数的值

function rockPaperScissors(hand1, hand2) {
  hand1 = hand1.trim().toLowerCase();
  hand2 = hand2.trim().toLowerCase();
  ...

装饰功能从文本中删除多余的空格。toLowerCase函数将所有字符转换为小写。

现在,您的rockPaperScissors函数如下所示:



function rockPaperScissors(hand1, hand2) {
  hand1 = hand1.trim().toLowerCase();
  hand2 = hand2.trim().toLowerCase();

  if (hand1 === hand2) {
    return "It's a tie!";
  } else if (hand1 === 'rock') {
    if (hand2 === 'paper') {
      return "Hand two wins!";
    } else if (hand2 === 'scissors') {
      return "Hand one wins!";
    } 
  }

  if (hand1 === 'paper') {
    if (hand2 === 'rock') {
      return "Hand one wins!";
    } else if (hand2 === 'scissors') {
      return "Hand two wins!";
    }
  }

  if (hand1 === 'scissors') {
    if (hand2 === 'paper') {
      return "Hand one wins!";
    } else if (hand2 === 'rock') {
      return "Hand two wins!";
    }
  }




}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

终端大小更改如何通过ssh或telnet发送到命令行应用程序?

来自分类Dev

通过节点代理服务器运行的基于Socket.io的应用程序在一个断开连接时断开所有套接字

来自分类Dev

如何在HTML中获取节点应用程序的Mocha测试结果报告

来自分类Dev

通过节点将数据发送到前端应用程序?

来自分类Dev

如何测试Facebook的“测试应用程序”

来自分类Dev

如何在Qt应用程序中通过终端命令运行分离的应用程序?

来自分类Dev

如何通过终端干净启动GUI应用程序?

来自分类Dev

如何找出应用程序的终端命令?

来自分类Dev

通过节点端口i访问应用程序时未获取更改

来自分类Dev

如何找出应用程序的终端命令?

来自分类Dev

如何通过终端干净启动GUI应用程序?

来自分类Dev

如何通过桌面应用程序使用硒测试网页?

来自分类Dev

如何更改通过键盘快捷键(或终端)启动的应用程序的图标?

来自分类Dev

如何测试应用程序是否正在运行,并从终端传递变量

来自分类Dev

通过节点运行DOH测试-'未定义文档'

来自分类Dev

如何在HTML中获取节点应用程序的Mocha测试结果报告

来自分类Dev

通过节点js应用程序在openshift中连接到mysql数据库时出错

来自分类Dev

通过终端锁定应用程序

来自分类Dev

如何查看此应用程序的流量?

来自分类Dev

如何通过一个命令在终端内启动应用程序

来自分类Dev

如何通过终端查找过时的应用程序?

来自分类Dev

如何通过终端删除软件目录中写有“ books”的应用程序?

来自分类Dev

如何通过终端软销GUI应用程序?

来自分类Dev

如何通过终端在Android设备中安装Ionic应用程序?

来自分类Dev

如何仅通过在 macOS 中键入应用程序的名称从终端运行应用程序?

来自分类Dev

如何在 AWS 上为 .NET 机器人应用程序创建终端节点?

来自分类Dev

在 Github Pages 上上传 React 应用程序:如何跳过节点模块文件夹的上传?

来自分类Dev

如何禁用通过 RDP(终端服务)运行的应用程序的多个实例?

来自分类Dev

如何避免此错误并正确测试 Rails 3 应用程序?

Related 相关文章

  1. 1

    终端大小更改如何通过ssh或telnet发送到命令行应用程序?

  2. 2

    通过节点代理服务器运行的基于Socket.io的应用程序在一个断开连接时断开所有套接字

  3. 3

    如何在HTML中获取节点应用程序的Mocha测试结果报告

  4. 4

    通过节点将数据发送到前端应用程序?

  5. 5

    如何测试Facebook的“测试应用程序”

  6. 6

    如何在Qt应用程序中通过终端命令运行分离的应用程序?

  7. 7

    如何通过终端干净启动GUI应用程序?

  8. 8

    如何找出应用程序的终端命令?

  9. 9

    通过节点端口i访问应用程序时未获取更改

  10. 10

    如何找出应用程序的终端命令?

  11. 11

    如何通过终端干净启动GUI应用程序?

  12. 12

    如何通过桌面应用程序使用硒测试网页?

  13. 13

    如何更改通过键盘快捷键(或终端)启动的应用程序的图标?

  14. 14

    如何测试应用程序是否正在运行,并从终端传递变量

  15. 15

    通过节点运行DOH测试-'未定义文档'

  16. 16

    如何在HTML中获取节点应用程序的Mocha测试结果报告

  17. 17

    通过节点js应用程序在openshift中连接到mysql数据库时出错

  18. 18

    通过终端锁定应用程序

  19. 19

    如何查看此应用程序的流量?

  20. 20

    如何通过一个命令在终端内启动应用程序

  21. 21

    如何通过终端查找过时的应用程序?

  22. 22

    如何通过终端删除软件目录中写有“ books”的应用程序?

  23. 23

    如何通过终端软销GUI应用程序?

  24. 24

    如何通过终端在Android设备中安装Ionic应用程序?

  25. 25

    如何仅通过在 macOS 中键入应用程序的名称从终端运行应用程序?

  26. 26

    如何在 AWS 上为 .NET 机器人应用程序创建终端节点?

  27. 27

    在 Github Pages 上上传 React 应用程序:如何跳过节点模块文件夹的上传?

  28. 28

    如何禁用通过 RDP(终端服务)运行的应用程序的多个实例?

  29. 29

    如何避免此错误并正确测试 Rails 3 应用程序?

热门标签

归档