package org.unitils.dbmaintainer.script;

import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.equalTo;
import static org.mockito.Mockito.mock;

import org.junit.Test;

public class ScriptTest {

    @Test
    public void mustReturnVersionFromPathPart() {
        Script script = new Script("001schema.ddl", null,
                mock(ScriptContentHandle.class));

        assertThat(script.getVersion().getIndexesString(), equalTo("1"));

        script = new Script("001_schema.ddl", null,
                mock(ScriptContentHandle.class));

        assertThat(script.getVersion().getIndexesString(), equalTo("1"));

        script = new Script("001-schema.ddl", null,
                mock(ScriptContentHandle.class));

        assertThat(script.getVersion().getIndexesString(), equalTo("1"));

    }

    @Test
    public void mustReturnNullForNonIndexablePathPart() {
        Script script = new Script("schema.ddl", null,
                mock(ScriptContentHandle.class));

        assertThat(script.getVersion().getIndexesString(), equalTo("x"));
        
        script = new Script("schema001.ddl", null,
                mock(ScriptContentHandle.class));

        assertThat(script.getVersion().getIndexesString(), equalTo("x"));
    }
}
