package org.ovirt.engine.core.common.businessentities;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
public class BootSequenceTest {
@Test
public void nothingContainsNull() {
assertFalse(BootSequence.C.containsSubsequence(null));
}
@Test
public void leafContainsItself() {
assertTrue(BootSequence.C.containsSubsequence(BootSequence.C));
}
@Test
public void threeSequenceOneSubsequence() {
assertTrue(BootSequence.CDN.containsSubsequence(BootSequence.C));
}
@Test
public void threeSequenceTwoSubsequence() {
assertTrue(BootSequence.CDN.containsSubsequence(BootSequence.CD));
}
@Test
public void threeSequenceTwoSubsequenceSecondPosition() {
assertTrue(BootSequence.CDN.containsSubsequence(BootSequence.DN));
}
@Test
public void threeSequenceOneSubsequenceSecondPosition() {
assertTrue(BootSequence.CDN.containsSubsequence(BootSequence.D));
}
@Test
public void threeSequenceOneSubsequenceThirdPosition() {
assertTrue(BootSequence.CDN.containsSubsequence(BootSequence.N));
}
@Test
public void threeSequenceThreeSubsequence() {
assertTrue(BootSequence.CDN.containsSubsequence(BootSequence.CDN));
}
@Test
public void oneSequenceOneWrongSubsequence() {
assertFalse(BootSequence.C.containsSubsequence(BootSequence.D));
}
@Test
public void oneSequenceTwoSubsequence() {
assertFalse(BootSequence.C.containsSubsequence(BootSequence.DC));
}
@Test
public void oneSequenceThreeSubsequence() {
assertFalse(BootSequence.C.containsSubsequence(BootSequence.DCN));
}
@Test
public void twoSequenceTwoSubsequenceOppositeOrder() {
assertTrue(BootSequence.CD.containsSubsequence(BootSequence.DC));
}
@Test
public void twoSequenceOneSubsequenceNotInItAtAll() {
assertFalse(BootSequence.CD.containsSubsequence(BootSequence.N));
}
}