// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. import { assertEquals, assertStrictEquals, assertThrows, } from "../../assert/mod.ts"; import { User } from "./user.ts"; Deno.test("User.users initially empty", () => { assertEquals(User.users.size, 0); }); Deno.test("User constructor", () => { try { const user = new User("Kyle"); assertEquals(user.name, "Kyle"); assertStrictEquals(User.users.get("Kyle"), user); } finally { User.users.clear(); } }); Deno.test("User age", async (t) => { const user = new User("Kyle"); await t.step("getAge", () => { assertThrows(() => user.getAge(), Error, "Age unknown"); user.age = 18; assertEquals(user.getAge(), 18); }); await t.step("setAge", () => { user.setAge(18); assertEquals(user.getAge(), 18); }); });