Skip to content

Commit 15b52f8

Browse files
committed
Added some extra testcases
1 parent 3c055d8 commit 15b52f8

File tree

3 files changed

+44
-5
lines changed

3 files changed

+44
-5
lines changed

src/lualib/Map.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
class Map<TKey, TValue> {
22
public size: number;
33

4-
private items: {[key: string]: TValue};
4+
private items: {[key: string]: TValue}; // Type of key is actually TKey
55

66
public Map(other: any) {
77
this.items = {};
Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { Expect, Test, TestCase } from "alsatian";
2-
import * as util from "../src/util";
2+
import * as util from "../../src/util";
33

44
export class MapTests {
55
@Test("map constructor")
@@ -19,6 +19,15 @@ export class MapTests {
1919
Expect(result).toBe(true);
2020
}
2121

22+
@Test("map iterable constructor map")
23+
public mapIterableConstructor2() {
24+
const lua = util.transpileString(`let mymap = new Map(new Map([["a", "c"],["b", "d"]]));
25+
return mymap.has("a") && mymap.has("b");`);
26+
const result = util.executeLua(lua);
27+
28+
Expect(result).toBe(true);
29+
}
30+
2231
@Test("map clear")
2332
public mapClear() {
2433
const mapTS = `let mymap = new Map([["a", "c"],["b", "d"]]); mymap.clear();`;
@@ -39,12 +48,22 @@ export class MapTests {
3948
Expect(contains).toBe(true);
4049
}
4150

51+
@Test("map entries")
52+
public mapEntries() {
53+
const lua = util.transpileString(`let mymap = new Map([[5, 2],[6, 3],[7, 4]]);
54+
let count = 0;
55+
for (var [key, value] of mymap.entries()) { count += key + value; }
56+
return count;`);
57+
const result = util.executeLua(lua);
58+
Expect(result).toBe(27);
59+
}
60+
4261
@Test("map foreach")
4362
public mapForEach() {
4463
const lua = util.transpileString(
4564
`let mymap = new Map([["a", 2],["b", 3],["c", 4]]);
4665
let count = 0;
47-
mymap.forEach(i => { count += i; });
66+
mymap.forEach(i => count += i);
4867
return count;`
4968
);
5069

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
import { Expect, Test, TestCase } from "alsatian";
2-
import * as util from "../src/util";
1+
import { Expect, Test, TestCase, FocusTests } from "alsatian";
2+
import * as util from "../../src/util";
33

4+
@FocusTests
45
export class SetTests {
56
@Test("set constructor")
67
public setConstructor() {
@@ -19,6 +20,15 @@ export class SetTests {
1920
Expect(result).toBe(true);
2021
}
2122

23+
@Test("set iterable constructor set")
24+
public setIterableConstructorSet() {
25+
const lua = util.transpileString(`let myset = new Set(new Set(["a", "b"]));
26+
return myset.has("a") || myset.has("b");`);
27+
const result = util.executeLua(lua);
28+
29+
Expect(result).toBe(true);
30+
}
31+
2232
@Test("set add")
2333
public setAdd() {
2434
const lua = util.transpileString(`let myset = new Set(); myset.add("a"); return myset.has("a");`);
@@ -46,6 +56,16 @@ export class SetTests {
4656
Expect(contains).toBe(true);
4757
}
4858

59+
@Test("set entries")
60+
public setEntries() {
61+
const lua = util.transpileString(`let myset = new Set([5, 6, 7]);
62+
let count = 0;
63+
for (var [key, value] of myset.entries()) { count += key + value; }
64+
return count;`);
65+
const result = util.executeLua(lua);
66+
Expect(result).toBe(36);
67+
}
68+
4969
@Test("set foreach")
5070
public setForEach() {
5171
const lua = util.transpileString(

0 commit comments

Comments
 (0)