软件工程第二次作业

1. 开发工具

        由于选修过Java课程,已安装Eclipse,运行截图如下。

          

       

2. 自动单元测试技术

  • 导入Junit

    导入是参考老师的博客设置的。截图如下。

  • 被测试类

        被测试类为字母--暗文转换类,是用来将英文字母加密(a2n())方法和暗文解密(n2a())方法的类。它是一个非常简单的类,只罗列了一堆if来判断字符。

        编写此程序是为了自己写奇怪的东西的时候使用,转换规律可任意更改,灵感源于niconico网站的P主lulu/スノーノイズP,他的一首鏡音レン原创歌曲《000》[sm22656010] 便是用这种方法写的,虽然没有太大作用但是看起来非常帅气(并不)。

  1 package junit_test;
  2 //字母--暗文转换
  3 public class Change {
  4     
  5     public String a2n(char a){
  6         String b = "FF";
  7         if(a == 'a' || a == 'A'){
  8             b = "70";
  9         }
 10         else if(a == 'b' || a == 'B'){
 11             b = "71";
 12         }
 13         else if(a == 'c' || a == 'C'){
 14             b = "72";
 15         }
 16         else if(a == 'd' || a == 'D'){
 17             b = "73";
 18         }
 19         else if(a == 'e' || a == 'E'){
 20             b = "74";
 21         }
 22         else if(a == 'f' || a == 'F'){
 23             b = "75";
 24         }
 25         else if(a == 'g' || a == 'G'){
 26             b = "76";
 27         }
 28         else if(a == 'h' || a == 'H'){
 29             b = "77";
 30         }
 31         else if(a == 'i' || a == 'I'){
 32             b = "78";
 33         }
 34         else if(a == 'j' || a == 'J'){
 35             b = "79";
 36         }
 37         else if(a == 'k' || a == 'K'){
 38             b = "7A";
 39         }
 40         else if(a == 'l' || a == 'L'){
 41             b = "7B";
 42         }
 43         else if(a == 'm' || a == 'M'){
 44             b = "7C";
 45         }
 46         else if(a == 'n' || a == 'N'){
 47             b = "7D";
 48         }
 49         else if(a == 'o' || a == 'O'){
 50             b = "7E";
 51         }
 52         else if(a == 'p' || a == 'P'){
 53             b = "7F";
 54         }
 55         else if(a == 'q' || a == 'Q'){
 56             b = "80";
 57         }
 58         else if(a == 'r' || a == 'R'){
 59             b = "81";
 60         }
 61         else if(a == 's' || a == 'S'){
 62             b = "82";
 63         }
 64         else if(a == 't' || a == 'T'){
 65             b = "83";
 66         }
 67         else if(a == 'u' || a == 'U'){
 68             b = "84";
 69         }
 70         else if(a == 'v' || a == 'V'){
 71             b = "85";
 72         }
 73         else if(a == 'w' || a == 'W'){
 74             b = "86";
 75         }
 76         else if(a == 'x' || a == 'X'){
 77             b = "87";
 78         }
 79         else if(a == 'y' || a == 'Y'){
 80             b = "88";
 81         }
 82         else if(a == 'z' || a == 'Z'){
 83             b = "89";
 84         }
 85         else if(a == ',' || a == '.'){
 86             b = "8A";
 87         }
 88         else if(a == ' '){
 89             b = "8B";
 90         }
 91         else b = "8C";
 92         return b;
 93     }
 94     public char n2a(String a){
 95         char b = '0';
 96         if(a == "70"){
 97             b = 'a';
 98         }
 99         else if(a == "71"){
100             b = 'b';
101         }
102         else if(a == "72"){
103             b = 'c';
104         }
105         else if(a == "73"){
106             b = 'd';
107         }
108         else if(a == "74"){
109             b = 'e';
110         }
111         else if(a == "75"){
112             b = 'f';
113         }
114         else if(a == "76"){
115             b = 'g';
116         }
117         else if(a == "77"){
118             b = 'h';
119         }
120         else if(a == "78"){
121             b = 'i';
122         }
123         else if(a == "79"){
124             b = 'j';
125         }
126         else if(a == "7A"){
127             b = 'k';
128         }
129         else if(a == "7B"){
130             b = 'l';
131         }
132         else if(a == "7C"){
133             b = 'm';
134         }
135         else if(a == "7D"){
136             b = 'n';
137         }
138         else if(a == "7E"){
139             b = 'o';
140         }
141         else if(a == "7F"){
142             b = 'p';
143         }
144         else if(a == "80"){
145             b = 'q';
146         }
147         else if(a == "81"){
148             b = 'r';
149         }
150         else if(a == "82"){
151             b = 's';
152         }
153         else if(a == "83"){
154             b = 't';
155         }
156         else if(a == "84"){
157             b = 'u';
158         }
159         else if(a == "85"){
160             b = 'v';
161         }
162         else if(a == "86"){
163             b = 'w';
164         }
165         else if(a == "87"){
166             b = 'x';
167         }
168         else if(a == "88"){
169             b = 'y';
170         }
171         else if(a == "89"){
172             b = 'z';
173         }
174         else if(a == "8A"){
175             b = ',';
176         }
177         else if(a == "8B"){
178             b = ' ';
179         }
180         else b = '.';
181         return b;
182     }
183 }
class Change
  •  测试类

 1 package junit_test;
 2 
 3 import static org.junit.Assert.*;
 4 import org.junit.Test;
 5 
 6 public class Junit_test {
 7     @Test
 8     public void a2n() {
 9         assertEquals("8A",new Change().a2n('.'));
10     }
11     @Test
12     public void n2a() {
13         assertEquals('g',new Change().n2a("76"));
14     }
15 
16 }
class Junit_test
  • 运行测试类

        运行测试类后截图如下。

       

        因为好奇错了长什么样,我又写了一个错误的数据。它判断出了错误,并且提示我希望得到97(即a)但结果为103(即g)。

        运行截图如下。

       

  • 完善JUnit

        在src下新建源文件夹test,然后将Junit_test类和包一起移动到test文件夹。

       

       

        然后使用IDE自动生成测试类。截图如下。

       

       

       

        修改具体参数,运行结果如图。

       

        我又好奇它故障的样子,于是把其中一个还原到刚自动生成测试类的样子,运行截图如下。

       

        嗯,这次作业圆满成功啦~

 

小记:

        很久不打开Eclipse都不会用了,看了看以前编的程序才又把Java捡起来。虽然决定考研了,但平时应该适当抽出时间敲代码,生疏的感觉很难受。

        复习的步伐才刚刚迈出,整个人都很悲观,很容易受刺激。最近一直在麻痹自己,让自己的大脑假装放松。但我知道,紧张才是我现在应该有的样子。

        积极起来,然后加油,嗯。

 

 

       

posted @ 2018-03-20 22:57  非职业天使  阅读(219)  评论(0编辑  收藏  举报