using Invercargill; using Invercargill.DataStructures; void promotion_tests() { Test.add_func("/invercargill/promotions/uint8_to_binarydata", () => { var data = new Vector(); data.add(1); data.add(9); data.add(7); var base64 = data.assert_promotion().to_base64(); assert_cmpstr("AQAA", CompareOperator.EQ, base64); }); Test.add_func("/invercargill/promotions/binarydata_to_binarydata", () => { var data = (Enumerable)new BinaryData.from_base64("AQAA"); var new_data = data.assert_promotion(); assert_true(data == new_data); }); Test.add_func("/invercargill/promotions/sticky", () => { try { var sum = range(0, 10000, 1) .promote_to() .where(i => i % 2 != 0) .sum(); assert_cmpint(sum, CompareOperator.EQ, 25000000); } catch (Error e) { assert_no_error(e); } }); }