import Kasen from "../src/kasen";
import KasenArray from "../src/collection/array";
import KasenObject from "../src/collection/object";

describe("Kasen", () => {
  test("ok", () => {
    expect(Kasen([])).toBeInstanceOf(KasenArray);
    expect(Kasen({})).toBeInstanceOf(KasenObject);
  });

  test("error", () => {
    expect(() => Kasen()).toThrow(TypeError);
    expect(() => Kasen(null)).toThrow(TypeError);
  });

  describe("copy()", () => {
    test("error", () => {
      expect(() => Kasen.copy()).toThrow(TypeError);
      expect(() => Kasen.copy(null)).toThrow(TypeError);
    });
  });
});

@@ -590,13 +590,1138 @@
 );%0A  %7D);
+%0A%0A  describe(%22isEmpty()%22, () =%3E %7B%0A    test(%22error%22, () =%3E %7B%0A      expect(() =%3E Kasen.isEmpty()).toThrow(TypeError);%0A      expect(() =%3E Kasen.isEmpty(null)).toThrow(TypeError);%0A    %7D);%0A  %7D);%0A%0A  describe(%22toArray()%22, () =%3E %7B%0A    test(%22error%22, () =%3E %7B%0A      expect(() =%3E Kasen.toArray()).toThrow(TypeError);%0A      expect(() =%3E Kasen.toArray(null)).toThrow(TypeError);%0A    %7D);%0A  %7D);%0A%0A  describe(%22toObject()%22, () =%3E %7B%0A    test(%22error%22, () =%3E %7B%0A      expect(() =%3E Kasen.toObject()).toThrow(TypeError);%0A      expect(() =%3E Kasen.toObject(null)).toThrow(TypeError);%0A    %7D);%0A  %7D);%0A%0A  describe(%22keys()%22, () =%3E %7B%0A    test(%22error%22, () =%3E %7B%0A      expect(() =%3E Kasen.keys()).toThrow(TypeError);%0A      expect(() =%3E Kasen.keys(null)).toThrow(TypeError);%0A    %7D);%0A  %7D);%0A%0A  describe(%22values()%22, () =%3E %7B%0A    test(%22error%22, () =%3E %7B%0A      expect(() =%3E Kasen.values()).toThrow(TypeError);%0A      expect(() =%3E Kasen.values(null)).toThrow(TypeError);%0A    %7D);%0A  %7D);%0A%0A  describe(%22entries()%22, () =%3E %7B%0A    test(%22error%22, () =%3E %7B%0A      expect(() =%3E Kasen.entries()).toThrow(TypeError);%0A      expect(() =%3E Kasen.entries(null)).toThrow(TypeError);%0A    %7D);%0A  %7D);
 %0A%7D);%0A

Add tests for validation of collection