From 775703781c5fa5261bbdecea1afce02c885b2a1e Mon Sep 17 00:00:00 2001 From: ShangHungWan Date: Thu, 7 Mar 2024 00:12:26 +0800 Subject: [PATCH 1/4] doc: fix typo in lab1 README --- lab1/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lab1/README.md b/lab1/README.md index 5b2779a5..df0ab9f5 100644 --- a/lab1/README.md +++ b/lab1/README.md @@ -2,7 +2,7 @@ ## Introduction -In this lab, you will write unit tests for functions implemented in `main.js`. You can learn how to use classes and functions in it by uncommenting the code in `main.js.` (But remember don't commit them on GitHub) +In this lab, you will write unit tests for functions implemented in `main.js`. You can learn how to use classes and functions in it by uncommenting the code in it. (But remember don't commit them on GitHub) ## Requirement From 3b2b8f55b4e2e9b950f8d70e72da104eefbdb9ea Mon Sep 17 00:00:00 2001 From: chihchia0707 <162073881+chihchia0707@users.noreply.github.com> Date: Sun, 10 Mar 2024 04:03:47 +0800 Subject: [PATCH 2/4] Add files via upload Complete unit test --- main_test.js | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 main_test.js diff --git a/main_test.js b/main_test.js new file mode 100644 index 00000000..8ed87a20 --- /dev/null +++ b/main_test.js @@ -0,0 +1,34 @@ +const test = require('node:test'); +const assert = require('assert'); +const { MyClass, Student } = require('./main'); + +test("Test MyClass's addStudent", () => { + const myClass = new MyClass(); + const student = new Student(); + const newStudentId = myClass.addStudent(student); + assert.strictEqual(newStudentId, 0); + assert.strictEqual(myClass.addStudent('not a student'), -1); +}); + +test("Test MyClass's getStudentById", () => { + const myClass = new MyClass(); + const student = new Student(); + myClass.addStudent(student); + assert.strictEqual(myClass.getStudentById(0), student); + assert.strictEqual(myClass.getStudentById(999), null); +}); + +test("Test Student's setName", () => { + const student = new Student(); + student.setName('John'); + assert.strictEqual(student.getName(), 'John'); + student.setName(123); + assert.strictEqual(student.getName(), 'John'); +}); + +test("Test Student's getName", () => { + const student = new Student(); + assert.strictEqual(student.getName(), ''); + student.setName('John'); + assert.strictEqual(student.getName(), 'John'); +}); \ No newline at end of file From ed5f29ab99fb0ef7aa3c380ae10c60886e44a7bd Mon Sep 17 00:00:00 2001 From: chihchia0707 <162073881+chihchia0707@users.noreply.github.com> Date: Sun, 10 Mar 2024 04:05:05 +0800 Subject: [PATCH 3/4] Delete main_test.js Delete main_test.js --- main_test.js | 34 ---------------------------------- 1 file changed, 34 deletions(-) delete mode 100644 main_test.js diff --git a/main_test.js b/main_test.js deleted file mode 100644 index 8ed87a20..00000000 --- a/main_test.js +++ /dev/null @@ -1,34 +0,0 @@ -const test = require('node:test'); -const assert = require('assert'); -const { MyClass, Student } = require('./main'); - -test("Test MyClass's addStudent", () => { - const myClass = new MyClass(); - const student = new Student(); - const newStudentId = myClass.addStudent(student); - assert.strictEqual(newStudentId, 0); - assert.strictEqual(myClass.addStudent('not a student'), -1); -}); - -test("Test MyClass's getStudentById", () => { - const myClass = new MyClass(); - const student = new Student(); - myClass.addStudent(student); - assert.strictEqual(myClass.getStudentById(0), student); - assert.strictEqual(myClass.getStudentById(999), null); -}); - -test("Test Student's setName", () => { - const student = new Student(); - student.setName('John'); - assert.strictEqual(student.getName(), 'John'); - student.setName(123); - assert.strictEqual(student.getName(), 'John'); -}); - -test("Test Student's getName", () => { - const student = new Student(); - assert.strictEqual(student.getName(), ''); - student.setName('John'); - assert.strictEqual(student.getName(), 'John'); -}); \ No newline at end of file From 4218e9ac2b602369c275bad7be745b2e05ab5416 Mon Sep 17 00:00:00 2001 From: chihchia0707 <162073881+chihchia0707@users.noreply.github.com> Date: Sun, 10 Mar 2024 04:05:41 +0800 Subject: [PATCH 4/4] Complete unit test Complete unit test --- lab1/main_test.js | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/lab1/main_test.js b/lab1/main_test.js index 74a716b4..8ed87a20 100644 --- a/lab1/main_test.js +++ b/lab1/main_test.js @@ -3,21 +3,32 @@ const assert = require('assert'); const { MyClass, Student } = require('./main'); test("Test MyClass's addStudent", () => { - // TODO - throw new Error("Test not implemented"); + const myClass = new MyClass(); + const student = new Student(); + const newStudentId = myClass.addStudent(student); + assert.strictEqual(newStudentId, 0); + assert.strictEqual(myClass.addStudent('not a student'), -1); }); test("Test MyClass's getStudentById", () => { - // TODO - throw new Error("Test not implemented"); + const myClass = new MyClass(); + const student = new Student(); + myClass.addStudent(student); + assert.strictEqual(myClass.getStudentById(0), student); + assert.strictEqual(myClass.getStudentById(999), null); }); test("Test Student's setName", () => { - // TODO - throw new Error("Test not implemented"); + const student = new Student(); + student.setName('John'); + assert.strictEqual(student.getName(), 'John'); + student.setName(123); + assert.strictEqual(student.getName(), 'John'); }); test("Test Student's getName", () => { - // TODO - throw new Error("Test not implemented"); + const student = new Student(); + assert.strictEqual(student.getName(), ''); + student.setName('John'); + assert.strictEqual(student.getName(), 'John'); }); \ No newline at end of file