public void It_can_generate_dtos()
        {
            const string expected = @"export interface IB {
}

export interface IPersonEntity {
	id: number;
	name?: string;
	isActive: boolean;
	uniqueId: string;
	createdOn: Date;
	deletedOn?: Date;
	favoriteTypes?: ITypesEntity;
	parent?: IPersonEntity;
	ignoredClass?: any;
}

export interface ITypesEntity {
	int: number;
	nullableInt?: number;
	nullableBool?: boolean;
	long: number;
	nullableLong?: number;
	short: number;
	nullableShort?: number;
	string?: string;
	nullableGuid?: string;
	intArray: Array<number>;
	stringList: Array<string>;
	guidEnumerable: Array<string>;
}
";
            var          actual   = TsFromCsGenerator.GenerateTypescriptInterfaceFromCsharpClass(typeof(TypesEntity), typeof(PersonEntity), typeof(IgnoredClass), typeof(A));

            Assert.Equal(expected, actual);

            Assert.Equal(
                expected: @"error error // multiple classes with the same name: ""PersonEntity"", please correct by renaming a class or adding a TsFromCsNameAttribute",
                actual: TsFromCsGenerator.GenerateTypescriptInterfaceFromCsharpClass(typeof(PersonEntity), typeof(Container.PersonEntity)));

            Assert.Equal(
                expected: @"error error // multiple classes with the same name: ""PersonEntity"", please correct by renaming a class or adding a TsFromCsNameAttribute",
                actual: TsFromCsGenerator.GenerateTypescriptInterfaceFromCsharpClass(typeof(PersonEntity), typeof(Container.SecondError)));
        }
示例#2
0
        public void It_can_generate_interfaces()
        {
            const string expected = @"export interface IHub {
	OnMessage(message: string): void;
	OnMessageAsync(message: string): Promise<void>;
	Create(person: IPersonEntity): IPersonEntity;
}

export interface IPersonEntity {
	id: number;
	name?: string;
	isActive: boolean;
	uniqueId: string;
	createdOn: Date;
	deletedOn?: Date;
	parent?: IPersonEntity;
}
";

            var actual = TsFromCsGenerator.GenerateTypescriptInterfaceFromCsharpClass(typeof(IHub), typeof(PersonEntity));

            Assert.Equal(expected, actual);
        }