package com.opera.core.systems;

import junit.framework.Assert;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Ignore;
import org.junit.Test;

import com.opera.core.systems.scope.exceptions.CommunicationException;

public class PrefsTest extends TestBase {

    @Before
    public void setUp() throws Exception {
    }

    @After
    public void tearDown() throws Exception {
    }

    @Test
    public void testGetValidPreference() {
        Assert.assertEquals(driver.getPref("Colors", "Background"), "#FFFFFF");
    }

    @Test
    public void testGetInvalidPreference() {
        Exception someException = null;

        try {
            driver.getPref("hooba", "flooba");
        } catch (SomeException e) {
            someException = e;
        }

        Assert.assertNotNull(someException);
    }

    @Test
    public void testGetPreferenceWithInvalidSection() {
        Exception someException = null;

        try {
            driver.getPref("hoobaflooba", "Background");
        } catch (SomeException e) {
            someException = e;
        }

        Assert.assertNotNull(someException);
    }

    @Test
    public void testGetPreferenceWithInvalidKey() {
        Exception someException = null;

        try {
            driver.getPref("Colors", "hoobaflooba");
        } catch (SomeException e) {
            someException = e;
        }

        Assert.assertNotNull(someException);
    }

    @Test
    public void testGetValidDefaultPreference() {}

    @Test
    public void testGetInvalidDefaultPreference() {}

    @Test
    public void testGetDefaultPreferenceWithInvalidSection() {}

    @Test
    public void testGetDefaultPreferenceWithInvalidKey() {}

    @Test
    public void testListPreferencesOfSectionWithSorting() {}

    @Test
    public void testListPreferencesOfSectionWithoutSorting() {}

    @Test
    public void testListPreferencesWithInvalidSection() {}

    @Test
    public void testListAllPreferences() {}

    @Test
    public void testSetValidPreference() {}

    @Test
    public void testSetInvalidPreference() {}

    @Test
    public void testSetPreferenceWithInvalidSection() {}

    @Test
    public void testSetPreferenceWithInvalidKey() {}

    @Test
    public void testSetPreferenceWithInvalidValue() {}

    @Test
    public void testSetPreferenceWithInvalidSectionAndKey() {}

    @Test
    public void testSetPreferenceWithInvalidSectionAndValue() {}

    @Test
    public void testSetPreferenceWithInvalidKeyAndValue() {}

}