测试用例更新

This commit is contained in:
YHH
2025-07-31 15:37:40 +08:00
parent 6ea366cfed
commit 69655f1936
16 changed files with 460 additions and 297 deletions

View File

@@ -3,11 +3,19 @@ import { TypeUtils } from '../../../src/Utils/Extensions/TypeUtils';
describe('TypeUtils - 类型工具类测试', () => {
// 测试用的类和对象
class TestClass {
constructor(public value: number = 0) {}
public value: number = 0;
constructor(...args: unknown[]) {
if (args.length >= 1) this.value = args[0] as number;
}
}
class AnotherTestClass {
constructor(public name: string = '') {}
public name: string = '';
constructor(...args: unknown[]) {
if (args.length >= 1) this.name = args[0] as string;
}
}
function TestFunction() {
@@ -106,12 +114,19 @@ describe('TypeUtils - 类型工具类测试', () => {
it('应该处理继承关系', () => {
class Parent {
constructor(public value: number = 0) {}
public value: number = 0;
constructor(...args: unknown[]) {
if (args.length >= 1) this.value = args[0] as number;
}
}
class Child extends Parent {
constructor(value: number = 0, public name: string = '') {
super(value);
public name: string = '';
constructor(...args: unknown[]) {
super(args[0]);
if (args.length >= 2) this.name = args[1] as string;
}
}
@@ -232,18 +247,28 @@ describe('TypeUtils - 类型工具类测试', () => {
it('应该能够用于多态类型识别', () => {
class Animal {
constructor(public name: string) {}
public name: string = '';
constructor(...args: unknown[]) {
if (args.length >= 1) this.name = args[0] as string;
}
}
class Dog extends Animal {
constructor(name: string, public breed: string) {
super(name);
public breed: string = '';
constructor(...args: unknown[]) {
super(args[0]);
if (args.length >= 2) this.breed = args[1] as string;
}
}
class Cat extends Animal {
constructor(name: string, public color: string) {
super(name);
public color: string = '';
constructor(...args: unknown[]) {
super(args[0]);
if (args.length >= 2) this.color = args[1] as string;
}
}