Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 36 additions & 25 deletions exercises/practice/sublist/SublistTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,28 +7,22 @@

class SublistTest extends TestCase
{
private Sublist $sublist;

public static function setUpBeforeClass(): void
{
require_once 'Sublist.php';
}

public function setUp(): void
{
$this->sublist = new Sublist();
}

/**
* uuid: 97319c93-ebc5-47ab-a022-02a1980e1d29
*/
#[TestDox('Empty lists')]
public function testEmptyLists(): void
{
$sublist = new Sublist();
$listOne = [];
$listTwo = [];

$this->assertEquals('EQUAL', $this->sublist->compare($listOne, $listTwo));
$this->assertEquals('EQUAL', $sublist->compare($listOne, $listTwo));
}

/**
Expand All @@ -37,10 +31,11 @@ public function testEmptyLists(): void
#[TestDox('Empty list within non empty list')]
public function testEmptyListWithinNonEmptyList(): void
{
$sublist = new Sublist();
$listOne = [];
$listTwo = [1, 2, 3];

$this->assertEquals('SUBLIST', $this->sublist->compare($listOne, $listTwo));
$this->assertEquals('SUBLIST', $sublist->compare($listOne, $listTwo));
}

/**
Expand All @@ -49,10 +44,11 @@ public function testEmptyListWithinNonEmptyList(): void
#[TestDox('Non empty list contains empty list')]
public function testNonEmptyListContainsEmptyList(): void
{
$sublist = new Sublist();
$listOne = [1, 2, 3];
$listTwo = [];

$this->assertEquals('SUPERLIST', $this->sublist->compare($listOne, $listTwo));
$this->assertEquals('SUPERLIST', $sublist->compare($listOne, $listTwo));
}

/**
Expand All @@ -61,10 +57,11 @@ public function testNonEmptyListContainsEmptyList(): void
#[TestDox('List equals itself')]
public function testListEqualsItself(): void
{
$sublist = new Sublist();
$listOne = [1, 2, 3];
$listTwo = [1, 2, 3];

$this->assertEquals('EQUAL', $this->sublist->compare($listOne, $listTwo));
$this->assertEquals('EQUAL', $sublist->compare($listOne, $listTwo));
}

/**
Expand All @@ -73,10 +70,11 @@ public function testListEqualsItself(): void
#[TestDox('Different lists')]
public function testDifferentLists(): void
{
$sublist = new Sublist();
$listOne = [1, 2, 3];
$listTwo = [2, 3, 4];

$this->assertEquals('UNEQUAL', $this->sublist->compare($listOne, $listTwo));
$this->assertEquals('UNEQUAL', $sublist->compare($listOne, $listTwo));
}

/**
Expand All @@ -85,10 +83,11 @@ public function testDifferentLists(): void
#[TestDox('False start')]
public function testFalseStart(): void
{
$sublist = new Sublist();
$listOne = [1, 2, 5];
$listTwo = [0, 1, 2, 3, 1, 2, 5, 6];

$this->assertEquals('SUBLIST', $this->sublist->compare($listOne, $listTwo));
$this->assertEquals('SUBLIST', $sublist->compare($listOne, $listTwo));
}

/**
Expand All @@ -97,10 +96,11 @@ public function testFalseStart(): void
#[TestDox('Consecutive')]
public function testConsecutive(): void
{
$sublist = new Sublist();
$listOne = [1, 1, 2];
$listTwo = [0, 1, 1, 1, 2, 1, 2];

$this->assertEquals('SUBLIST', $this->sublist->compare($listOne, $listTwo));
$this->assertEquals('SUBLIST', $sublist->compare($listOne, $listTwo));
}

/**
Expand All @@ -109,10 +109,11 @@ public function testConsecutive(): void
#[TestDox('Sublist at start')]
public function testSublistAtStart(): void
{
$sublist = new Sublist();
$listOne = [0, 1, 2];
$listTwo = [0, 1, 2, 3, 4, 5];

$this->assertEquals('SUBLIST', $this->sublist->compare($listOne, $listTwo));
$this->assertEquals('SUBLIST', $sublist->compare($listOne, $listTwo));
}

/**
Expand All @@ -121,10 +122,11 @@ public function testSublistAtStart(): void
#[TestDox('Sublist in middle')]
public function testSublistInMiddle(): void
{
$sublist = new Sublist();
$listOne = [2, 3, 4];
$listTwo = [0, 1, 2, 3, 4, 5];

$this->assertEquals('SUBLIST', $this->sublist->compare($listOne, $listTwo));
$this->assertEquals('SUBLIST', $sublist->compare($listOne, $listTwo));
}

/**
Expand All @@ -133,10 +135,11 @@ public function testSublistInMiddle(): void
#[TestDox('Sublist at end')]
public function testSublistAtEnd(): void
{
$sublist = new Sublist();
$listOne = [3, 4, 5];
$listTwo = [0, 1, 2, 3, 4, 5];

$this->assertEquals('SUBLIST', $this->sublist->compare($listOne, $listTwo));
$this->assertEquals('SUBLIST', $sublist->compare($listOne, $listTwo));
}

/**
Expand All @@ -145,10 +148,11 @@ public function testSublistAtEnd(): void
#[TestDox('At start of superlist')]
public function testAtStartOfSuperlist(): void
{
$sublist = new Sublist();
$listOne = [0, 1, 2, 3, 4, 5];
$listTwo = [0, 1, 2];

$this->assertEquals('SUPERLIST', $this->sublist->compare($listOne, $listTwo));
$this->assertEquals('SUPERLIST', $sublist->compare($listOne, $listTwo));
}

/**
Expand All @@ -157,10 +161,11 @@ public function testAtStartOfSuperlist(): void
#[TestDox('In middle of superlist')]
public function testInMiddleOfSuperlist(): void
{
$sublist = new Sublist();
$listOne = [0, 1, 2, 3, 4, 5];
$listTwo = [2, 3];

$this->assertEquals('SUPERLIST', $this->sublist->compare($listOne, $listTwo));
$this->assertEquals('SUPERLIST', $sublist->compare($listOne, $listTwo));
}

/**
Expand All @@ -169,10 +174,11 @@ public function testInMiddleOfSuperlist(): void
#[TestDox('At end of superlist')]
public function testAtEndOfSuperlist(): void
{
$sublist = new Sublist();
$listOne = [0, 1, 2, 3, 4, 5];
$listTwo = [3, 4, 5];

$this->assertEquals('SUPERLIST', $this->sublist->compare($listOne, $listTwo));
$this->assertEquals('SUPERLIST', $sublist->compare($listOne, $listTwo));
}

/**
Expand All @@ -181,10 +187,11 @@ public function testAtEndOfSuperlist(): void
#[TestDox('First list missing element from second list')]
public function testFirstListMissingElementFromSecondList(): void
{
$sublist = new Sublist();
$listOne = [1, 3];
$listTwo = [1, 2, 3];

$this->assertEquals('UNEQUAL', $this->sublist->compare($listOne, $listTwo));
$this->assertEquals('UNEQUAL', $sublist->compare($listOne, $listTwo));
}

/**
Expand All @@ -193,10 +200,11 @@ public function testFirstListMissingElementFromSecondList(): void
#[TestDox('Second list missing element from first list')]
public function testSecondListMissingElementFromFirstList(): void
{
$sublist = new Sublist();
$listOne = [1, 2, 3];
$listTwo = [1, 3];

$this->assertEquals('UNEQUAL', $this->sublist->compare($listOne, $listTwo));
$this->assertEquals('UNEQUAL', $sublist->compare($listOne, $listTwo));
}

/**
Expand All @@ -205,10 +213,11 @@ public function testSecondListMissingElementFromFirstList(): void
#[TestDox('First list missing additional digits from second list')]
public function testFirstListMissingAdditionalDigitsFromSecondList(): void
{
$sublist = new Sublist();
$listOne = [1, 2];
$listTwo = [1, 22];

$this->assertEquals('UNEQUAL', $this->sublist->compare($listOne, $listTwo));
$this->assertEquals('UNEQUAL', $sublist->compare($listOne, $listTwo));
}

/**
Expand All @@ -217,10 +226,11 @@ public function testFirstListMissingAdditionalDigitsFromSecondList(): void
#[TestDox('Order matters to a list')]
public function testOrderMattersToList(): void
{
$sublist = new Sublist();
$listOne = [1, 2, 3];
$listTwo = [3, 2, 1];

$this->assertEquals('UNEQUAL', $this->sublist->compare($listOne, $listTwo));
$this->assertEquals('UNEQUAL', $sublist->compare($listOne, $listTwo));
}

/**
Expand All @@ -229,9 +239,10 @@ public function testOrderMattersToList(): void
#[TestDox('Same digits but different numbers')]
public function testSameDigitsButDifferentNumbers(): void
{
$sublist = new Sublist();
$listOne = [1, 0, 1];
$listTwo = [10, 1];

$this->assertEquals('UNEQUAL', $this->sublist->compare($listOne, $listTwo));
$this->assertEquals('UNEQUAL', $sublist->compare($listOne, $listTwo));
}
}
3 changes: 2 additions & 1 deletion exercises/practice/twelve-days/.meta/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
"MichaelBunker"
],
"contributors": [
"A-O-Emmanuel"
"A-O-Emmanuel",
"resu-xuniL"
],
"files": {
"solution": [
Expand Down
Loading
Loading