6
val s1 = 'myFirstSymbol
7
val s2 = 'mySecondSymbol
8
def s3 = 'myThirdSymbol
15
val basesymbol = 'symbase
18
class Sub extends Base {
19
val subsymbol = 'symsub
28
lazy val v1 = "lazy v1"
29
lazy val s1 = 'lazySymbol1
33
lazy val v2 = "lazy v2"
34
lazy val s2 = 'lazySymbol2
38
lazy val v3 = "lazy v3"
39
lazy val s3 = 'lazySymbol3
42
object SingletonOfLazyness {
43
lazy val lazysym = 'lazySymbol
44
lazy val another = 'another
45
lazy val lastone = 'lastone
49
* Tests symbols to see if they work correct.
54
var mfs: Symbol = null
63
def aSymbol = 'myFirstSymbol
64
val anotherSymbol = 'mySecondSymbol
66
def main(args: Array[String]) {
83
assert(scl.s1 == aSymbol)
84
assert(scl.s2 == anotherSymbol)
85
assert(scl.s3 == 'myThirdSymbol)
86
assert(scl.s4 == Symbol.apply("myFourthSymbol"))
87
assert(scl.s1 == Symbol("myFirstSymbol"))
91
for (i <- 0 until 100) List("Val" + i)
94
def testInnerClasses {
95
val innerPower = new Inner
96
assert(innerPower.simba == 'smba)
97
assert(innerPower.mfs == 'mfsa)
100
def testInnerObjects {
101
assert(InnerObject.o1 == 'aaa)
102
assert(InnerObject.o2 == 'ddd)
105
def testWithHashMaps {
106
val map = new collection.mutable.HashMap[Symbol, Symbol]
107
map.put(InnerObject.o1, 'smba)
108
map.put(InnerObject.o2, 'mfsa)
109
map.put(Symbol("WeirdKey" + 1), Symbol("Weird" + "Val" + 1))
110
assert(map('aaa) == 'smba)
111
assert(map('ddd) == 'mfsa)
112
assert(map('WeirdKey1) == Symbol("WeirdVal1"))
115
for (i <- 0 until 100) map.put(Symbol("symKey" + i), Symbol("symVal" + i))
116
assert(map(Symbol("symKey15")) == Symbol("symVal15"))
117
assert(map('symKey22) == 'symVal22)
118
assert(map('symKey73) == 'symVal73)
119
assert(map('symKey56) == 'symVal56)
120
assert(map('symKey91) == 'symVal91)
124
var lst: List[Symbol] = Nil
125
for (i <- 0 until 100) lst ::= Symbol("lsym" + (99 - i))
126
assert(lst(0) == 'lsym0)
127
assert(lst(10) == 'lsym10)
128
assert(lst(30) == 'lsym30)
129
assert(lst(40) == 'lsym40)
130
assert(lst(65) == 'lsym65)
131
assert(lst(90) == 'lsym90)
134
def testAnonymous { // TODO complaints classdef can't be found for some reason, runs fine in my case
135
// val anon = () => {
154
// val inner = new Inner
155
// assert(anon() == inner.simba)
156
// assert(anon().toString == "'smba")
157
// assert(an2() == 'mfsa)
158
// assert(an3() == Symbol("layered" + ""))
161
def testNestedObject {
164
def insignia = 'insignia
166
assert(nested.sign == 'sign)
167
assert(nested.insignia == 'insignia)
168
assert(('insignia).toString == "'insignia")
171
def testInheritance {
174
assert(base.basesymbol == 'symbase)
175
assert(sub.subsymbol == 'symsub)
176
assert(sub.basesymbol == 'symbase)
179
def subsubsymbol = 'symsubsub
181
assert(anon.subsubsymbol == 'symsubsub)
182
assert(anon.subsymbol == 'symsub)
183
assert(anon.basesymbol == 'symbase)
185
object nested extends Sub {
186
def objsymbol = 'symobj
188
assert(nested.objsymbol == 'symobj)
189
assert(nested.subsymbol == 'symsub)
190
assert(nested.basesymbol == 'symbase)
191
assert(('symbase).toString == "'symbase")
195
val fromTrait = new AnyRef with Signs {
196
def traitsymbol = 'traitSymbol
199
assert(fromTrait.traitsymbol == 'traitSymbol)
200
assert(fromTrait.ind == 'indication)
201
assert(fromTrait.trace == 'trace)
202
assert(('trace).toString == "'trace")
213
val compl = new Sub with Signs with Compl
214
assert(compl.s1 == 's1)
215
assert(compl.s2 == 's2)
216
assert(compl.inner.s3 == 's3)
217
assert(compl.inner.s4 == 's4)
218
assert(compl.ind == 'indication)
219
assert(compl.trace == 'trace)
220
assert(compl.subsymbol == 'symsub)
221
assert(compl.basesymbol == 'symbase)
223
object Local extends Signs with Compl {
231
assert(Local.s5 == 's5)
232
assert(Local.s6 == 's6)
233
assert(Local.inner2.s7 == 's7)
234
assert(Local.inner2.s8 == 's8)
235
assert(Local.inner.s3 == 's3)
236
assert(Local.inner.s4 == 's4)
237
assert(Local.s1 == 's1)
238
assert(Local.s2 == 's2)
239
assert(Local.trace == 'trace)
240
assert(Local.ind == 'indication)
241
assert(('s8).toString == "'s8")
245
val l1 = new AnyRef with Lazy1
246
val l2 = new AnyRef with Lazy2
247
val l3 = new AnyRef with Lazy3
252
assert((l1.s1).toString == "'lazySymbol1")
253
assert(l2.s2 == Symbol("lazySymbol" + 2))
254
assert(l3.s3 == 'lazySymbol3)
257
def testLazyObjects {
258
assert(SingletonOfLazyness.lazysym == 'lazySymbol)
259
assert(SingletonOfLazyness.another == Symbol("ano" + "ther"))
260
assert((SingletonOfLazyness.lastone).toString == "'lastone")
263
lazy val sym1 = 'snested1
264
lazy val sym2 = 'snested2
267
assert(nested.sym1 == 'snested1)
268
assert(nested.sym2 == Symbol("snested" + "2"))
6
val s1 = 'myFirstSymbol
7
val s2 = 'mySecondSymbol
8
def s3 = 'myThirdSymbol
15
val basesymbol = 'symbase
18
class Sub extends Base {
19
val subsymbol = 'symsub
28
lazy val v1 = "lazy v1"
29
lazy val s1 = 'lazySymbol1
33
lazy val v2 = "lazy v2"
34
lazy val s2 = 'lazySymbol2
38
lazy val v3 = "lazy v3"
39
lazy val s3 = 'lazySymbol3
42
object SingletonOfLazyness {
43
lazy val lazysym = 'lazySymbol
44
lazy val another = 'another
45
lazy val lastone = 'lastone
49
* Tests symbols to see if they work correct.
54
var mfs: Symbol = null
63
def aSymbol = 'myFirstSymbol
64
val anotherSymbol = 'mySecondSymbol
66
def main(args: Array[String]) {
83
assert(scl.s1 == aSymbol)
84
assert(scl.s2 == anotherSymbol)
85
assert(scl.s3 == 'myThirdSymbol)
86
assert(scl.s4 == Symbol.apply("myFourthSymbol"))
87
assert(scl.s1 == Symbol("myFirstSymbol"))
91
for (i <- 0 until 100) List("Val" + i)
94
def testInnerClasses {
95
val innerPower = new Inner
96
assert(innerPower.simba == 'smba)
97
assert(innerPower.mfs == 'mfsa)
100
def testInnerObjects {
101
assert(InnerObject.o1 == 'aaa)
102
assert(InnerObject.o2 == 'ddd)
105
def testWithHashMaps {
106
val map = new collection.mutable.HashMap[Symbol, Symbol]
107
map.put(InnerObject.o1, 'smba)
108
map.put(InnerObject.o2, 'mfsa)
109
map.put(Symbol("WeirdKey" + 1), Symbol("Weird" + "Val" + 1))
110
assert(map('aaa) == 'smba)
111
assert(map('ddd) == 'mfsa)
112
assert(map('WeirdKey1) == Symbol("WeirdVal1"))
115
for (i <- 0 until 100) map.put(Symbol("symKey" + i), Symbol("symVal" + i))
116
assert(map(Symbol("symKey15")) == Symbol("symVal15"))
117
assert(map('symKey22) == 'symVal22)
118
assert(map('symKey73) == 'symVal73)
119
assert(map('symKey56) == 'symVal56)
120
assert(map('symKey91) == 'symVal91)
124
var lst: List[Symbol] = Nil
125
for (i <- 0 until 100) lst ::= Symbol("lsym" + (99 - i))
126
assert(lst(0) == 'lsym0)
127
assert(lst(10) == 'lsym10)
128
assert(lst(30) == 'lsym30)
129
assert(lst(40) == 'lsym40)
130
assert(lst(65) == 'lsym65)
131
assert(lst(90) == 'lsym90)
134
def testAnonymous { // TODO complaints classdef can't be found for some reason, runs fine in my case
135
// val anon = () => {
154
// val inner = new Inner
155
// assert(anon() == inner.simba)
156
// assert(anon().toString == "'smba")
157
// assert(an2() == 'mfsa)
158
// assert(an3() == Symbol("layered" + ""))
161
def testNestedObject {
164
def insignia = 'insignia
166
assert(nested.sign == 'sign)
167
assert(nested.insignia == 'insignia)
168
assert(('insignia).toString == "'insignia")
171
def testInheritance {
174
assert(base.basesymbol == 'symbase)
175
assert(sub.subsymbol == 'symsub)
176
assert(sub.basesymbol == 'symbase)
179
def subsubsymbol = 'symsubsub
181
assert(anon.subsubsymbol == 'symsubsub)
182
assert(anon.subsymbol == 'symsub)
183
assert(anon.basesymbol == 'symbase)
185
object nested extends Sub {
186
def objsymbol = 'symobj
188
assert(nested.objsymbol == 'symobj)
189
assert(nested.subsymbol == 'symsub)
190
assert(nested.basesymbol == 'symbase)
191
assert(('symbase).toString == "'symbase")
195
val fromTrait = new AnyRef with Signs {
196
def traitsymbol = 'traitSymbol
199
assert(fromTrait.traitsymbol == 'traitSymbol)
200
assert(fromTrait.ind == 'indication)
201
assert(fromTrait.trace == 'trace)
202
assert(('trace).toString == "'trace")
213
val compl = new Sub with Signs with Compl
214
assert(compl.s1 == 's1)
215
assert(compl.s2 == 's2)
216
assert(compl.inner.s3 == 's3)
217
assert(compl.inner.s4 == 's4)
218
assert(compl.ind == 'indication)
219
assert(compl.trace == 'trace)
220
assert(compl.subsymbol == 'symsub)
221
assert(compl.basesymbol == 'symbase)
223
object Local extends Signs with Compl {
231
assert(Local.s5 == 's5)
232
assert(Local.s6 == 's6)
233
assert(Local.inner2.s7 == 's7)
234
assert(Local.inner2.s8 == 's8)
235
assert(Local.inner.s3 == 's3)
236
assert(Local.inner.s4 == 's4)
237
assert(Local.s1 == 's1)
238
assert(Local.s2 == 's2)
239
assert(Local.trace == 'trace)
240
assert(Local.ind == 'indication)
241
assert(('s8).toString == "'s8")
245
val l1 = new AnyRef with Lazy1
246
val l2 = new AnyRef with Lazy2
247
val l3 = new AnyRef with Lazy3
252
assert((l1.s1).toString == "'lazySymbol1")
253
assert(l2.s2 == Symbol("lazySymbol" + 2))
254
assert(l3.s3 == 'lazySymbol3)
257
def testLazyObjects {
258
assert(SingletonOfLazyness.lazysym == 'lazySymbol)
259
assert(SingletonOfLazyness.another == Symbol("ano" + "ther"))
260
assert((SingletonOfLazyness.lastone).toString == "'lastone")
263
lazy val sym1 = 'snested1
264
lazy val sym2 = 'snested2
267
assert(nested.sym1 == 'snested1)
268
assert(nested.sym2 == Symbol("snested" + "2"))