mirror of
https://github.com/wiosna-dev/common-library.git
synced 2026-03-12 09:31:51 +01:00
71e1eeb81bf48b22cb6e9ab2c62fae42154a8e03
BaseTestCase - add setter for path of directory with data used by test cases
Meritoo Common Library
Common and useful classes, methods, exceptions etc.
Installation
Run Composer to install this package in your project:
$ composer require meritoo/common-library
How to install Composer: https://getcomposer.org/download
Static methods
This package contains a lot of class with static methods, so usage is not so complicated. Just run the static method who would you like to use. Example:
use Meritoo\Common\Utilities\Arrays;
$firstElement = Arrays::getFirstElement(['lorem', 'ipsum']);
var_dump($firstElement); // string(5) "lorem"
Base test case with common methods and data providers
Located here: Meritoo\Common\Test\Base\BaseTestCase. Just extend the BaseTestCase class and use it like in Meritoo\Common\Test\Utilities\DateTest class:
class DateTest extends BaseTestCase
{
/**
* @param mixed $value Empty value, e.g. ""
* @dataProvider provideEmptyValue
*/
public function testGetDateTimeEmptyValue($value)
{
self::assertFalse(Date::getDateTime($value));
}
(...)
}
or in Meritoo\Common\Test\Utilities\MimeTypesTest class:
class MimeTypesTest extends BaseTestCase
{
(...)
/**
* @param bool $mimeType The mime type, e.g. "video/mpeg"
* @dataProvider provideBooleanValue
*/
public function testGetExtensionBooleanMimeType($mimeType)
{
self::assertEquals('', MimeTypes::getExtension($mimeType));
}
(...)
}
Collection of elements
Located here: Meritoo\Common\Collection\Collection. It's a set of some elements, e.g. objects. It's iterable and countable. Provides very useful methods. Some of them:
getFirst()- returns the first element in the collectiongetLast()- returns the last element in the collectionisEmpty()- returns information if collection is emptyadd($element, $index = null)- adds given element (at the end of collection)addMultiple($elements, $useIndexes = false)- adds given elements (at the end of collection)prepend($element)- prepends given element (adds given element at the beginning of collection)remove($element)- removes given element
Examples of usage below.
An empty collection
use Meritoo\Common\Collection\Collection;
$emptyCollection = new Collection();
var_dump($emptyCollection->isEmpty()); // bool(true)
Simple collection
use Meritoo\Common\Collection\Collection;
$elements = [
'lorem',
'ipsum',
123 => 'dolor',
345 => 'sit',
];
$simpleCollection = new Collection($elements);
var_dump($simpleCollection->has('dolor')); // bool(true)
Enjoy!
Languages
PHP
99.5%
Dockerfile
0.4%