有点类似

  1. #[derive(Debug)]
  2. pub struct Rectangle {
  3. length: u32,
  4. width: u32,
  5. }
  6.  
  7. impl Rectangle {
  8. pub fn can_hold(&self, other: &Rectangle) -> bool {
  9. self.length > other.length && self.width > other.width
  10. }
  11. }
  12.  
  13. pub fn add_two(a: i32) -> i32 {
  14. a +
  15. }
  16.  
  17. pub fn greeting(name: &str) -> String {
  18. format!("Hello {}!", name)
  19. }
  20.  
  21. pub struct Guess {
  22. value: i32,
  23. }
  24.  
  25. impl Guess {
  26. pub fn new(value: i32) -> Guess {
  27. {
  28. panic!("Guess value must be great than or equal 1, got {}.", value);
  29. } {
  30. panic!("Guess value must less than or equal to 100, got {}.", value);
  31. }
  32.  
  33. Guess {
  34. value
  35. }
  36. }
  37. }
  38.  
  39. #[cfg(test)]
  40. mod tests {
  41. use super::*;
  42.  
  43. #[test]
  44. fn larger_can_hold_smaller() {
  45. let larger = Rectangle { length: , width: };
  46. let smaller = Rectangle { length: , width: };
  47. assert!(larger.can_hold(&smaller));
  48. }
  49.  
  50. #[test]
  51. fn smaller_cannot_hold_larger() {
  52. let larger = Rectangle { length: , width: };
  53. let smaller = Rectangle { length: , width: };
  54. assert!(!smaller.can_hold(&larger));
  55. }
  56.  
  57. #[test]
  58. fn it_add_two() {
  59. assert_eq!(, add_two());
  60. }
  61.  
  62. #[test]
  63. fn greeting_contains_name() {
  64. let result = greeting("Carol");
  65. assert!(result.contains("Carol"));
  66. }
  67.  
  68. #[test]
  69. #[should_panic(expected = "Guess value must be less than or equal to 100")]
  70. fn greater_than_100() {
  71. Guess::);
  72. }
  73.  
  74. /*
  75. #[test]
  76. fn it_works() -> Result<(), String> {
  77. if 2 + 2 == 4 {
  78. Ok(())
  79. } else {
  80. Err(String::from("two plus two does not equal four"))
  81. }
  82. }
  83. */
  84. }

Rust中的测试用例的写法的更多相关文章

  1. Rust 中的类型转换

    1. as 运算符 as 运算符有点像 C 中的强制类型转换,区别在于,它只能用于原始类型(i32 .i64 .f32 . f64 . u8 . u32 . char 等类型),并且它是安全的. 例 ...

  2. 刷完欧拉计划中难度系数为5%的所有63道题,我学会了Rust中的哪些知识点?

    我为什么学Rust? 2019年6月18日,Facebook发布了数字货币Libra的技术白皮书,我也第一时间体验了一下它的智能合约编程语言MOVE,发现这个MOVE是用Rust编写的,看来想准确理解 ...

  3. ORACLE 查询一个数据表后通过遍历再插入另一个表中的两种写法

    ORACLE 查询一个数据表后通过遍历再插入另一个表中的两种写法 语法 第一种: 通过使用Oracle语句块  --指定文档所有部门都能查看 declare cursor TABLE_DEPT and ...

  4. Rust 中的继承与代码复用

    在学习Rust过程中突然想到怎么实现继承,特别是用于代码复用的继承,于是在网上查了查,发现不是那么简单的. C++的继承 首先看看c++中是如何做的. 例如要做一个场景结点的Node类和一个Sprit ...

  5. web工程中URL地址的写法

    在开发中我们不可避免的要碰到许多需要写URL地址的情况,这常常让我们感到头疼.下面笔者推荐一种简单的做法.URL地址分为绝对路径和相对路径两种.相对路径又分为相对资源路径和相对根路径.显然绝对路径在开 ...

  6. jQuery 1.4.4 中 function( window, undefined ) 写法原因

    读 jQuery 1.4.4 版本代码的时候,发现下面的写法: (function( window, undefined ) { ... // code goes here })(window); w ...

  7. 关于 jQuery中 function( window, undefined ) 写法的原因

    今天在读 jQuery 源码的时候,发现下面的写法: (function(window,undefined){ ...// code goes here })(window); window 作为参数 ...

  8. C++<algorithm>中sort的比较函数写法(转)

    转自:http://www.wl566.com/biancheng/98907.html C++<algorithm>中sort的比较函数写法,有需要的朋友可以参考下. 定义排序函数: 方 ...

  9. QT中.pro文件的写法

    QT中.pro文件的写法   qmake 变量 含义 #xxxx 注释, 从“#”开始,到这一行结束 SOURCES 指定源文件 SOURCES = *.cpp 对于多源文件,可用空格分开 SOURC ...

随机推荐

  1. 扎西平措 201571030332 《面向对象程序设计 (JAVA)》第二周 学习总结

    面向对象程序设计 (JAVA)>第二周 学习总结 项目 内容 这个作业属于哪个课程 <任课教师博客主页链接>https://www.cnblogs.com/nwnu-daizh/ 这 ...

  2. C++ trais技术 模板特化的应用

    // traits 的应用 /////////////////////////////////////////// // traits template <typename T> clas ...

  3. MongoDB Shell基本操作(五)

    官网文档:https://docs.mongodb.com/ 1. 创建数据库 #如果数据库不存在,则创建数据库,否则切换到指定数据库 use DATABASE_NAME 示例: use runoob ...

  4. 浅谈DFS序

    浅谈DFS序 本篇随笔简要讲解一下信息学奥林匹克竞赛中有关树的DFS序的相关内容. DFS序的概念 先来上张图: 树的DFS序,简单来讲就是对树从根开始进行深搜,按搜到的时间顺序把所有节点打上时间戳. ...

  5. 【oracle】update

  6. sqlserver deadlock

    当时系统测试的时候,由于使用了自动化测试跑脚本,一下子出了很多sqlserver deadlock的问题. 都处于system test阶段了,哪儿还有时间仔细分析这些死锁是怎么出来的,直接上retr ...

  7. 记录错误or日记(更新中)

    前言: 从2018.8-17开始记录 本篇随笔记录做题时的小错误(大多数),考试总结(懒得总结了),做过的每个题的错误 2019.12.7 傻逼学校,给我三个小时假期给你们做题挣工资 2019.11. ...

  8. ORB-SLAM2初步--局部地图构建

    一.局部地图构建简介 为什么叫“局部”地图构建,我的理解是这个线程的主要任务是像地图中插入关键帧(包括地图点等信息),以及需要进行LocalBA优化一个局部地图,这是相对于回环检测时进行的全局优化来说 ...

  9. NAT技术详解

    一.IPv4协议和NAT的由来 1.IPv4协议介绍 2011年2月3日,IANA宣布:IPv4地址空间最后5个地址块已经被分配给下属的5个地区委员会.2011年4月15日,亚太区委员会APNIC对外 ...

  10. Codeforces Round 589 (Div. 2) 题解

    Is that a kind of fetishism? No, he is objectively a god. 见识了一把 Mcdic 究竟出题有多神. (虽然感觉还是吹过头了) 开了场 Virt ...