From 5738390c05cf3435095f34442e0ec9bee97394ca Mon Sep 17 00:00:00 2001 From: banana1715 <82526396+banana1715@users.noreply.github.com> Date: Thu, 27 Feb 2025 16:01:25 +0800 Subject: [PATCH 1/3] Update lab0.js --- lab0/lab0.js | 1 + 1 file changed, 1 insertion(+) diff --git a/lab0/lab0.js b/lab0/lab0.js index e69de29..fa2ad5c 100644 --- a/lab0/lab0.js +++ b/lab0/lab0.js @@ -0,0 +1 @@ +console.log("Hello world!"); From 9b4f698126bc67e614e02b5fab2fce94197e5d68 Mon Sep 17 00:00:00 2001 From: banana1715 Date: Sun, 9 Mar 2025 17:57:10 +0800 Subject: [PATCH 2/3] test test --- lab1/main_test.js | 54 +++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 45 insertions(+), 9 deletions(-) diff --git a/lab1/main_test.js b/lab1/main_test.js index 74a716b..ac139ef 100644 --- a/lab1/main_test.js +++ b/lab1/main_test.js @@ -3,21 +3,57 @@ 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(); + + // Valid student case + const studentId = myClass.addStudent(student); + assert.strictEqual(studentId, 0); + + // Invalid input case + const invalidId = myClass.addStudent({}); + assert.strictEqual(invalidId, -1); }); test("Test MyClass's getStudentById", () => { - // TODO - throw new Error("Test not implemented"); + const myClass = new MyClass(); + const student = new Student(); + student.setName("John"); + + const studentId = myClass.addStudent(student); + + // Valid retrieval + const retrievedStudent = myClass.getStudentById(studentId); + assert.ok(retrievedStudent instanceof Student); + assert.strictEqual(retrievedStudent.getName(), "John"); + + // Invalid ID cases + assert.strictEqual(myClass.getStudentById(-1), null); + assert.strictEqual(myClass.getStudentById(100), null); }); test("Test Student's setName", () => { - // TODO - throw new Error("Test not implemented"); + const student = new Student(); + + // Valid name setting + student.setName("Jane"); + assert.strictEqual(student.getName(), "Jane"); + + // Invalid input cases + student.setName(123); + assert.strictEqual(student.getName(), "Jane"); // Should not change + + student.setName(null); + assert.strictEqual(student.getName(), "Jane"); // Should not change }); test("Test Student's getName", () => { - // TODO - throw new Error("Test not implemented"); -}); \ No newline at end of file + const student = new Student(); + + // Default value case + assert.strictEqual(student.getName(), ''); + + // After setting a valid name + student.setName("Alice"); + assert.strictEqual(student.getName(), "Alice"); +}); From f895388b602546129d591c1ab6860b42197a12ca Mon Sep 17 00:00:00 2001 From: banana1715 Date: Sun, 9 Mar 2025 18:06:01 +0800 Subject: [PATCH 3/3] test --- lab1/main_test.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lab1/main_test.js b/lab1/main_test.js index ac139ef..a9c842a 100644 --- a/lab1/main_test.js +++ b/lab1/main_test.js @@ -29,9 +29,10 @@ test("Test MyClass's getStudentById", () => { // Invalid ID cases assert.strictEqual(myClass.getStudentById(-1), null); - assert.strictEqual(myClass.getStudentById(100), null); + assert.strictEqual(myClass.getStudentById(101), null); }); + test("Test Student's setName", () => { const student = new Student();