diff options
author | Stefan Zeiger <szeiger@novocode.com> | 2011-12-02 15:26:03 +0100 |
---|---|---|
committer | Stefan Zeiger <szeiger@novocode.com> | 2011-12-02 15:26:03 +0100 |
commit | 0f87b7b5780267d05d467a2f0075ee746f2cef2f (patch) | |
tree | 49d689fc1fe53946d4015f082a7342982ddef405 /test | |
parent | 947797ea23d711e501605c0cc218fec88e3b97ef (diff) | |
download | scala-0f87b7b5780267d05d467a2f0075ee746f2cef2f.tar.gz scala-0f87b7b5780267d05d467a2f0075ee746f2cef2f.tar.bz2 scala-0f87b7b5780267d05d467a2f0075ee746f2cef2f.zip |
Enumeration and Enumeration.ValueSet improvements
- Make Enumeration.ValueSet a SortedSet and back it by a BitSet
- Add toBitMask and fromBitMask methods for value sets
- Add an Ordering for the values
- Deprecate names seq in the Enumeration constructor
- Add + method to Value for easy ValueSet creation
Diffstat (limited to 'test')
-rw-r--r-- | test/files/run/enums.check | 10 | ||||
-rw-r--r-- | test/files/run/enums.scala | 31 |
2 files changed, 41 insertions, 0 deletions
diff --git a/test/files/run/enums.check b/test/files/run/enums.check index f53aba8794..93eadae6e3 100644 --- a/test/files/run/enums.check +++ b/test/files/run/enums.check @@ -3,3 +3,13 @@ test Test2 was successful test Test3 was successful test Test4 was successful +D1.ValueSet(North, East) +D2.ValueSet(North, East) +D1.ValueSet(North, East, West) +D2.ValueSet(North, East, West) +List(101) +List(101) +D1.ValueSet(North, East) +D2.ValueSet(North, East) +WeekDays.ValueSet(Tue, Wed, Thu, Fri) + diff --git a/test/files/run/enums.scala b/test/files/run/enums.scala index 6dda8cbc6e..8c6c88ea07 100644 --- a/test/files/run/enums.scala +++ b/test/files/run/enums.scala @@ -65,6 +65,35 @@ object Test4 { } } +object Test5 { + + object D1 extends Enumeration(0) { + val North, South, East, West = Value; + } + + object D2 extends Enumeration(-2) { + val North, South, East, West = Value; + } + + object WeekDays extends Enumeration { + val Mon, Tue, Wed, Thu, Fri, Sat, Sun = Value + } + + def run { + val s1 = D1.ValueSet(D1.North, D1.East) + val s2 = D2.North + D2.East + println(s1) + println(s2) + println(s1 + D1.West) + println(s2 + D2.West) + println(s1.toBitMask.map(_.toBinaryString).toList) + println(s2.toBitMask.map(_.toBinaryString).toList) + println(D1.ValueSet.fromBitMask(s1.toBitMask)) + println(D2.ValueSet.fromBitMask(s2.toBitMask)) + println(WeekDays.values.range(WeekDays.Tue, WeekDays.Sat)) + } +} + //############################################################################ // Test code @@ -94,6 +123,8 @@ object Test { check_success("Test3", Test3.run, 1); check_success("Test4", Test4.run, 0); Console.println; + Test5.run; + Console.println; } } |