(once) and (oncePerInstance)
This commit is contained in:
17
kiss/src/test/cases/OnceTestCase.hx
Normal file
17
kiss/src/test/cases/OnceTestCase.hx
Normal file
@@ -0,0 +1,17 @@
|
||||
package test.cases;
|
||||
|
||||
import utest.Test;
|
||||
import utest.Assert;
|
||||
import kiss.Prelude;
|
||||
|
||||
class OnceTestCase extends Test {
|
||||
function testOnce() {
|
||||
new OnceTestObject();
|
||||
new OnceTestObject();
|
||||
Assert.equals(1, OnceTestObject.staticCount);
|
||||
Assert.equals(2, OnceTestObject.instanceCount);
|
||||
}
|
||||
}
|
||||
|
||||
@:build(kiss.Kiss.build("OnceTestObject.kiss"))
|
||||
class OnceTestObject {}
|
8
kiss/src/test/cases/OnceTestObject.kiss
Normal file
8
kiss/src/test/cases/OnceTestObject.kiss
Normal file
@@ -0,0 +1,8 @@
|
||||
(defvar &mut staticCount 0)
|
||||
(defvar &mut instanceCount 0)
|
||||
|
||||
(defmethod new []
|
||||
(once
|
||||
(+= staticCount 1))
|
||||
(oncePerInstance
|
||||
(+= instanceCount 1)))
|
Reference in New Issue
Block a user