// Path: src/main/java/org/fusesource/jansi/Ansi.java
// public enum Color {
//     BLACK(0, "BLACK"),
//     RED(1, "RED"),
//     GREEN(2, "GREEN"),
//     YELLOW(3, "YELLOW"),
//     BLUE(4, "BLUE"),
//     MAGENTA(5, "MAGENTA"),
//     CYAN(6, "CYAN"),
//     WHITE(7, "WHITE"),
//     DEFAULT(9, "DEFAULT");
// 
//     private final int value;
//     private final String name;
// 
//     Color(int index, String name) {
//         this.value = index;
//         this.name = name;
//     }
// 
//     @Override
//     public String toString() {
//         return name;
//     }
// 
//     public int value() {
//         return value;
//     }
// 
//     public int fg() {
//         return value + 30;
//     }
// 
//     public int bg() {
//         return value + 40;
//     }
// 
//     public int fgBright() {
//         return value + 90;
//     }
// 
//     public int bgBright() {
//         return value + 100;
//     }
// }


import org.fusesource.jansi.Ansi.Color;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.CsvSource;
import static org.junit.jupiter.api.Assertions.assertEquals;
/*
 * Copyright (C) 2009-2017 the original author(s).
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.fusesource.jansi;



/**
 * Tests for the {@link Ansi} class.
 *
 * @author <a href="mailto:jason@planet57.com">Jason Dillon</a>
 */
public class AnsiTest {
    @Test
    public void testSetEnabled() throws Exception {
        Ansi.setEnabled(false);
        new Thread() {
            @Override
            public void run() {
                assertEquals(false, Ansi.isEnabled());
            }
        }.run();

        Ansi.setEnabled(true);
        new Thread() {
            @Override
            public void run() {
                assertEquals(true, Ansi.isEnabled());
            }
        }.run();
    }

    @Test
    public void testClone() throws CloneNotSupportedException {
// Path: src/main/java/org/fusesource/jansi/Ansi.java
// public enum Color {
//     BLACK(0, "BLACK"),
//     RED(1, "RED"),
//     GREEN(2, "GREEN"),
//     YELLOW(3, "YELLOW"),
//     BLUE(4, "BLUE"),
//     MAGENTA(5, "MAGENTA"),
//     CYAN(6, "CYAN"),
//     WHITE(7, "WHITE"),
//     DEFAULT(9, "DEFAULT");
// 
//     private final int value;
//     private final String name;
// 
//     Color(int index, String name) {
//         this.value = index;
//         this.name = name;
//     }
// 
//     @Override
//     public String toString() {
//         return name;
//     }
// 
//     public int value() {
//         return value;
//     }
// 
//     public int fg() {
//         return value + 30;
//     }
// 
//     public int bg() {
//         return value + 40;
//     }
// 
//     public int fgBright() {
//         return value + 90;
//     }
// 
//     public int bgBright() {
//         return value + 100;
//     }
// }


// Path: src/test/java/org/fusesource/jansi/AnsiTest.java
import org.fusesource.jansi.Ansi.Color;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.CsvSource;
import static org.junit.jupiter.api.Assertions.assertEquals;

/*
 * Copyright (C) 2009-2017 the original author(s).
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.fusesource.jansi;



/**
 * Tests for the {@link Ansi} class.
 *
 * @author <a href="mailto:jason@planet57.com">Jason Dillon</a>
 */
public class AnsiTest {
    @Test
    public void testSetEnabled() throws Exception {
        Ansi.setEnabled(false);
        new Thread() {
            @Override
            public void run() {
                assertEquals(false, Ansi.isEnabled());
            }
        }.run();

        Ansi.setEnabled(true);
        new Thread() {
            @Override
            public void run() {
                assertEquals(true, Ansi.isEnabled());
            }
        }.run();
    }

    @Test
    public void testClone() throws CloneNotSupportedException {
        Ansi ansi = Ansi.ansi().a("Some text").bg(Color.BLACK).fg(Color.WHITE);