// ----------
// Enums.java
// ----------

enum Color {
    red,
    green,
    blue,
    yellow,
    purple}

enum Color2 {
    red,
    green,
    blue,
    yellow,
    purple}

final class EnumsTest {
    public static void f (Color c) {
        assert c == Color.blue;}

    public static void main (String[] args) {
        System.out.println("Enums.java");

        {
        assert Color.red   == Color.red;
        assert Color.green != Color.blue;
        assert  Color.red.equals(Color.red);
        assert !Color.green.equals(Color.blue);
        assert Color.red.compareTo(Color.blue) < 0;
        }

        {
//      assert Color.red != Color2.red;             // doesn't compile
        assert !Color.red.equals(Color2.red);
//      assert Color.red.compareTo(Color2.red) < 0; // doesn't compile
        }

        {
        Color x = Color.red;
        Color y = Color.green;
        Color z = Color.blue;
        assert x == x;
        assert y != z;
        assert x.equals(x);
        assert !y.equals(z);
        assert x.compareTo(y) < 0;
        switch (x) {
            case red:
            break;
    
            case green:
            break;
    
            default:}
        }

        {
        int i = Color.blue.ordinal();
        assert i == 2;
//      Color t = 2;                                // doesn't compile
        }

        {
//      f(2);                                       // doesn't compile
        f(Color.blue);
        }

        System.out.println("Done.");}}
