-
Notifications
You must be signed in to change notification settings - Fork 577
/
user_flat_test.ts
44 lines (38 loc) · 1.04 KB
/
user_flat_test.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
// Copyright 2018-2022 the Deno authors. All rights reserved. MIT license.
import { assertEquals, assertStrictEquals, assertThrows } from "../asserts.ts";
import { describe, it } from "../bdd.ts";
import { User } from "./user.ts";
const userTests = describe("User");
it(userTests, "users initially empty", () => {
assertEquals(User.users.size, 0);
});
it(userTests, "constructor", () => {
try {
const user = new User("Kyle");
assertEquals(user.name, "Kyle");
assertStrictEquals(User.users.get("Kyle"), user);
} finally {
User.users.clear();
}
});
const ageTests = describe({
name: "age",
suite: userTests,
beforeEach(this: { user: User }) {
this.user = new User("Kyle");
},
afterEach() {
User.users.clear();
},
});
it(ageTests, "getAge", function () {
const { user } = this;
assertThrows(() => user.getAge(), Error, "Age unknown");
user.age = 18;
assertEquals(user.getAge(), 18);
});
it(ageTests, "setAge", function () {
const { user } = this;
user.setAge(18);
assertEquals(user.getAge(), 18);
});