Skip to main content
Go to Latest
File
// 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);});