(function (_, kotlin_UstadMobile_lib_xxhashkmp_core, kotlin_kotlin, kotlin_kotlin_test) {
  'use strict';
  //region block: imports
  var XXStringHasherJs = kotlin_UstadMobile_lib_xxhashkmp_core.$_$.c;
  var Long = kotlin_kotlin.$_$.u8;
  var assertEquals = kotlin_kotlin_test.$_$.a;
  var protoOf = kotlin_kotlin.$_$.f6;
  var listOf = kotlin_kotlin.$_$.s3;
  var XXHasher64FactoryJs = kotlin_UstadMobile_lib_xxhashkmp_core.$_$.b;
  var toByteArray = kotlin_UstadMobile_lib_xxhashkmp_core.$_$.a;
  var classMeta = kotlin_kotlin.$_$.m5;
  var setMetadataFor = kotlin_kotlin.$_$.g6;
  var VOID = kotlin_kotlin.$_$.d;
  var suite = kotlin_kotlin_test.$_$.b;
  var test = kotlin_kotlin_test.$_$.c;
  var Unit_getInstance = kotlin_kotlin.$_$.p2;
  //endregion
  //region block: pre-declaration
  setMetadataFor(XXHashJsTest, 'XXHashJsTest', classMeta, VOID, VOID, XXHashJsTest);
  //endregion
  function XXHashJsTest() {
  }
  protoOf(XXHashJsTest).test_w5z8la_k$ = function () {
    var hasher = new XXStringHasherJs();
    assertEquals(new Long(-1026862423, -1453291819), hasher.hash_6htf84_k$('http://adlnet.gov/expapi/verbs/progressed'));
  };
  protoOf(XXHashJsTest).givenLongArray_whenInvoked_thenWillHash_a0fnmh_k$ = function () {
    var longsList = listOf([new Long(1, 0), new Long(42, 0), new Long(50, 0)]);
    var factory = new XXHasher64FactoryJs();
    var hasher = factory.newHasher_bylh2l_k$(new Long(0, 0));
    // Inline function 'kotlin.collections.forEach' call
    var tmp0_iterator = longsList.iterator_jk1svi_k$();
    while (tmp0_iterator.hasNext_bitz1p_k$()) {
      var element = tmp0_iterator.next_20eer_k$();
      // Inline function 'com.ustadmobile.xxhashkmp.jsimpl.XXHashJsTest.givenLongArray_whenInvoked_thenWillHash.<anonymous>' call
      hasher.update_abaron_k$(toByteArray(element));
    }
    assertEquals(new Long(-682341065, 733922687), hasher.digest_m0ziv0_k$());
  };
  function test_fun_izoufj() {
    suite('XXHashJsTest', false, test_fun$XXHashJsTest_test_fun_phluut);
  }
  function test_fun$XXHashJsTest_test_fun_phluut() {
    test('test', false, test_fun$XXHashJsTest_test_fun$test_test_fun_73uzao);
    test('givenLongArray_whenInvoked_thenWillHash', false, test_fun$XXHashJsTest_test_fun$givenLongArray_whenInvoked_thenWillHash_test_fun_8m8ytz);
    return Unit_getInstance();
  }
  function test_fun$XXHashJsTest_test_fun$test_test_fun_73uzao() {
    var tmp = new XXHashJsTest();
    tmp.test_w5z8la_k$();
    return Unit_getInstance();
  }
  function test_fun$XXHashJsTest_test_fun$givenLongArray_whenInvoked_thenWillHash_test_fun_8m8ytz() {
    var tmp = new XXHashJsTest();
    tmp.givenLongArray_whenInvoked_thenWillHash_a0fnmh_k$();
    return Unit_getInstance();
  }
  //region block: tests
  (function () {
    suite('com.ustadmobile.xxhashkmp.jsimpl', false, function () {
      test_fun_izoufj();
    });
  }());
  //endregion
  return _;
}(module.exports, require('./UstadMobile-lib-xxhashkmp-core.js'), require('./kotlin-kotlin-stdlib.js'), require('./kotlin-kotlin-test-kotlin-test-js-ir.js')));
