// Generated by ReScript, PLEASE EDIT WITH CARE
'use strict';

var Jest = require("@glennsl/bs-jest/src/jest.bs.js");
var Curry = require("bs-platform/lib/js/curry.js");
var IntMap$OptolithClient = require("../IntMap.bs.js");

var from1to5 = Curry._1(IntMap$OptolithClient.fromList, {
      hd: [
        1,
        "a"
      ],
      tl: {
        hd: [
          2,
          "b"
        ],
        tl: {
          hd: [
            4,
            "d"
          ],
          tl: {
            hd: [
              3,
              "c"
            ],
            tl: {
              hd: [
                5,
                "e"
              ],
              tl: /* [] */0
            }
          }
        }
      }
    });

var from1to11 = Curry._1(IntMap$OptolithClient.fromList, {
      hd: [
        9,
        "i"
      ],
      tl: {
        hd: [
          5,
          "e"
        ],
        tl: {
          hd: [
            8,
            "h"
          ],
          tl: {
            hd: [
              2,
              "b"
            ],
            tl: {
              hd: [
                11,
                "k"
              ],
              tl: {
                hd: [
                  4,
                  "d"
                ],
                tl: {
                  hd: [
                    10,
                    "j"
                  ],
                  tl: {
                    hd: [
                      1,
                      "a"
                    ],
                    tl: {
                      hd: [
                        6,
                        "f"
                      ],
                      tl: {
                        hd: [
                          3,
                          "c"
                        ],
                        tl: {
                          hd: [
                            7,
                            "g"
                          ],
                          tl: /* [] */0
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    });

Jest.describe("Foldable", (function (param) {
        Jest.test("toList", (function (param) {
                return Jest.Expect.toEqual({
                            hd: [
                              1,
                              "a"
                            ],
                            tl: {
                              hd: [
                                2,
                                "b"
                              ],
                              tl: {
                                hd: [
                                  3,
                                  "c"
                                ],
                                tl: {
                                  hd: [
                                    4,
                                    "d"
                                  ],
                                  tl: {
                                    hd: [
                                      5,
                                      "e"
                                    ],
                                    tl: {
                                      hd: [
                                        6,
                                        "f"
                                      ],
                                      tl: {
                                        hd: [
                                          7,
                                          "g"
                                        ],
                                        tl: {
                                          hd: [
                                            8,
                                            "h"
                                          ],
                                          tl: {
                                            hd: [
                                              9,
                                              "i"
                                            ],
                                            tl: {
                                              hd: [
                                                10,
                                                "j"
                                              ],
                                              tl: {
                                                hd: [
                                                  11,
                                                  "k"
                                                ],
                                                tl: /* [] */0
                                              }
                                            }
                                          }
                                        }
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }, Jest.Expect.expect(Curry._1(IntMap$OptolithClient.Foldable.toList, from1to11)));
              }));
        return Jest.describe("all", (function (param) {
                      Jest.test("returns true if the predicate matches all elements in the map", (function (param) {
                              return Jest.Expect.toBe(true, Jest.Expect.expect(Curry._2(IntMap$OptolithClient.Foldable.all, (function (x) {
                                                    return x < "f";
                                                  }), from1to5)));
                            }));
                      return Jest.test("returns false if the predicate does not match at least one element in the map", (function (param) {
                                    return Jest.Expect.toBe(false, Jest.Expect.expect(Curry._2(IntMap$OptolithClient.Foldable.all, (function (x) {
                                                          return x < "e";
                                                        }), from1to5)));
                                  }));
                    }));
      }));

exports.from1to5 = from1to5;
exports.from1to11 = from1to11;
/* from1to5 Not a pure module */
