|
|
@@ -0,0 +1,31 @@
|
|
|
+import { assertEquals } from "https://deno.land/std@0.161.0/testing/asserts.ts";
|
|
|
+import { Fibonacci } from "./fibonacci.class.ts";
|
|
|
+
|
|
|
+Deno.test("Fibonacci class", async (t) => {
|
|
|
+ await t.step("getter list()", async (t) => {
|
|
|
+ await t.step("returns a list of fibonacci numbers", () => {
|
|
|
+ const numbers = Fibonacci.list(150);
|
|
|
+ assertEquals(
|
|
|
+ [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144],
|
|
|
+ numbers,
|
|
|
+ "first fibonacci numbers up to 150",
|
|
|
+ );
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ await t.step("getter next()", async (t) => {
|
|
|
+ await t.step("returns next larger fibonacci number after input", () => {
|
|
|
+ const next = 89 + 144;
|
|
|
+ assertEquals(
|
|
|
+ Fibonacci.next(150),
|
|
|
+ next,
|
|
|
+ "next fibonacci number after 150",
|
|
|
+ );
|
|
|
+ assertEquals(
|
|
|
+ Fibonacci.next(next),
|
|
|
+ 144 + next,
|
|
|
+ "second next fibonacci number after 150",
|
|
|
+ );
|
|
|
+ });
|
|
|
+ });
|
|
|
+});
|