shell bypass 403
<?php
namespace Tests\YandexCheckout\Model;
use PHPUnit\Framework\TestCase;
use YandexCheckout\Helpers\Random;
use YandexCheckout\Helpers\StringObject;
use YandexCheckout\Model\AmountInterface;
use YandexCheckout\Model\CurrencyCode;
use YandexCheckout\Model\Receipt\AgentType;
use YandexCheckout\Model\Receipt\PaymentMode;
use YandexCheckout\Model\Receipt\PaymentSubject;
use YandexCheckout\Model\Receipt\ReceiptItemAmount;
use YandexCheckout\Model\ReceiptItem;
use YandexCheckout\Model\Supplier;
class ReceiptItemTest extends TestCase
{
protected function getTestInstance()
{
return new ReceiptItem();
}
/**
* @dataProvider validDescriptionDataProvider
*
* @param $value
*/
public function testGetSetDescription($value)
{
$instance = $this->getTestInstance();
self::assertNull($instance->getDescription());
self::assertNull($instance->description);
$instance->setDescription($value);
self::assertEquals((string)$value, $instance->getDescription());
self::assertEquals((string)$value, $instance->description);
}
/**
* @dataProvider validDescriptionDataProvider
*
* @param $value
*/
public function testSetterDescription($value)
{
$instance = $this->getTestInstance();
$instance->description = $value;
self::assertEquals((string)$value, $instance->getDescription());
self::assertEquals((string)$value, $instance->description);
}
public function validDescriptionDataProvider()
{
return array(
array(Random::str(1)),
array(Random::str(2, 31)),
array(Random::str(32)),
array(new StringObject(Random::str(64))),
array(123),
array(45.3),
);
}
/**
* @dataProvider invalidDescriptionDataProvider
* @expectedException \InvalidArgumentException
*
* @param $value
*/
public function testSetInvalidDescription($value)
{
$this->getTestInstance()->setDescription($value);
}
/**
* @dataProvider invalidDescriptionDataProvider
* @expectedException \InvalidArgumentException
*
* @param $value
*/
public function testSetterInvalidDescription($value)
{
$this->getTestInstance()->description = $value;
}
public function invalidDescriptionDataProvider()
{
return array(
array(null),
array(''),
array(new StringObject('')),
array(true),
array(false),
array(new \stdClass()),
array(array()),
);
}
/**
* @dataProvider validQuantityDataProvider
*
* @param $value
*/
public function testGetSetQuantity($value)
{
$instance = $this->getTestInstance();
self::assertNull($instance->getQuantity());
self::assertNull($instance->quantity);
$instance->setQuantity($value);
self::assertEquals((float)$value, $instance->getQuantity());
self::assertEquals((float)$value, $instance->quantity);
}
/**
* @dataProvider validQuantityDataProvider
*
* @param $value
*/
public function testSetterQuantity($value)
{
$instance = $this->getTestInstance();
$instance->quantity = $value;
self::assertEquals((float)$value, $instance->getQuantity());
self::assertEquals((float)$value, $instance->quantity);
}
public function validQuantityDataProvider()
{
return array(
array(1),
array(1.3),
array(0.001),
array(10000.001),
array('3.1415'),
array(Random::float(0.001, 9999.999)),
array(Random::int(1, 9999)),
);
}
/**
* @dataProvider invalidQuantityDataProvider
* @expectedException \InvalidArgumentException
*
* @param $value
*/
public function testSetInvalidQuantity($value)
{
$this->getTestInstance()->setQuantity($value);
}
/**
* @dataProvider invalidQuantityDataProvider
* @expectedException \InvalidArgumentException
*
* @param $value
*/
public function testSetterInvalidQuantity($value)
{
$this->getTestInstance()->quantity = $value;
}
public function invalidQuantityDataProvider()
{
return array(
array(null),
array(''),
array(0.0),
array(Random::float(-100, -0.001)),
array(array()),
array(new \stdClass()),
);
}
/**
* @dataProvider validVatCodeDataProvider
*
* @param $value
*/
public function testGetSetVatCode($value)
{
$instance = $this->getTestInstance();
self::assertNull($instance->getVatCode());
self::assertNull($instance->vatCode);
self::assertNull($instance->vat_code);
$instance->setVatCode($value);
if ($value === null || $value === '') {
self::assertNull($instance->getVatCode());
self::assertNull($instance->vatCode);
self::assertNull($instance->vat_code);
} else {
self::assertEquals((int)$value, $instance->getVatCode());
self::assertEquals((int)$value, $instance->vatCode);
self::assertEquals((int)$value, $instance->vat_code);
}
}
/**
* @dataProvider validVatCodeDataProvider
*
* @param $value
*/
public function testSetterVatCode($value)
{
$instance = $this->getTestInstance();
$instance->vatCode = $value;
if ($value === null || $value === '') {
self::assertNull($instance->getVatCode());
self::assertNull($instance->vatCode);
self::assertNull($instance->vat_code);
} else {
self::assertEquals((int)$value, $instance->getVatCode());
self::assertEquals((int)$value, $instance->vatCode);
self::assertEquals((int)$value, $instance->vat_code);
}
}
/**
* @dataProvider validDataAgent
* @param $value
*/
public function testSetAgentType($value)
{
$instance = $this->getTestInstance();
self::assertNull($instance->getAgentType());
$instance->setAgentType($value);
self::assertSame($value, $instance->getAgentType());
}
public function validDataAgent()
{
$values = array();
for ($i = 0; $i < 5; $i++) {
$values[] = array(Random::value(AgentType::getValidValues()));
}
return $values;
}
/**
* @dataProvider validDataSupplier
* @param $value
*/
public function testSetSupplier($value)
{
$instance = $this->getTestInstance();
self::assertNull($instance->getSupplier());
$instance->setSupplier($value);
if (is_array($value)) {
$value = new Supplier($value);
}
self::assertEquals($value, $instance->getSupplier());
}
/**
* @return array[]
* @throws \Exception
*/
public function validDataSupplier()
{
$validData = array(
array(
array(
'name' => Random::str(1, 100),
'phone' => '79000000000',
'inn' => '1000000000',
),
),
);
for ($i = 0; $i < 3; $i++) {
$supplier = array(
new Supplier(
array(
'name' => Random::str(1, 100),
'phone' => '79000000000',
'inn' => '1000000000',
)
)
);
$validData[] = $supplier;
}
return $validData;
}
/**
* @dataProvider validVatCodeDataProvider
*
* @param $value
*/
public function testSetterVat_code($value)
{
$instance = $this->getTestInstance();
$instance->vat_code = $value;
if ($value === null || $value === '') {
self::assertNull($instance->getVatCode());
self::assertNull($instance->vatCode);
self::assertNull($instance->vat_code);
} else {
self::assertEquals((int)$value, $instance->getVatCode());
self::assertEquals((int)$value, $instance->vatCode);
self::assertEquals((int)$value, $instance->vat_code);
}
}
/**
* @dataProvider validPaymentSubjectDataProvider
*
* @param $value
*/
public function testSetterPayment_subject($value)
{
$instance = $this->getTestInstance();
$instance->payment_subject = $value;
if ($value === null || $value === '') {
self::assertNull($instance->getPaymentSubject());
self::assertNull($instance->payment_subject);
self::assertNull($instance->paymentSubject);
} else {
self::assertContains($instance->getPaymentSubject(), PaymentSubject::getValidValues());
self::assertContains($instance->payment_subject, PaymentSubject::getValidValues());
self::assertContains($instance->paymentSubject, PaymentSubject::getValidValues());
}
}
/**
* @dataProvider validPaymentSubjectDataProvider
*
* @param $value
*/
public function testSetterPaymentSubject($value)
{
$instance = $this->getTestInstance();
$instance->paymentSubject = $value;
if ($value === null || $value === '') {
self::assertNull($instance->getPaymentSubject());
self::assertNull($instance->payment_subject);
self::assertNull($instance->paymentSubject);
} else {
self::assertContains($instance->getPaymentSubject(), PaymentSubject::getValidValues());
self::assertContains($instance->payment_subject, PaymentSubject::getValidValues());
self::assertContains($instance->paymentSubject, PaymentSubject::getValidValues());
}
}
/**
* @dataProvider validPaymentModeDataProvider
*
* @param $value
*/
public function testSetterPayment_mode($value)
{
$instance = $this->getTestInstance();
$instance->payment_mode = $value;
if ($value === null || $value === '') {
self::assertNull($instance->getPaymentMode());
self::assertNull($instance->payment_mode);
self::assertNull($instance->paymentMode);
} else {
self::assertContains($instance->getPaymentMode(), PaymentMode::getValidValues());
self::assertContains($instance->payment_mode, PaymentMode::getValidValues());
self::assertContains($instance->paymentMode, PaymentMode::getValidValues());
}
}
/**
* @dataProvider validPaymentModeDataProvider
*
* @param $value
*/
public function testSetterPaymentMode($value)
{
$instance = $this->getTestInstance();
$instance->paymentMode = $value;
if ($value === null || $value === '') {
self::assertNull($instance->getPaymentMode());
self::assertNull($instance->payment_mode);
self::assertNull($instance->paymentMode);
} else {
self::assertContains($instance->getPaymentMode(), PaymentMode::getValidValues());
self::assertContains($instance->payment_mode, PaymentMode::getValidValues());
self::assertContains($instance->paymentMode, PaymentMode::getValidValues());
}
}
public function validVatCodeDataProvider()
{
return array(
array(null),
array(''),
array(1),
array(2),
array(3),
array(4),
array(5),
array(6),
);
}
public function validPaymentSubjectDataProvider()
{
return array(
array(null),
array(''),
array(PaymentSubject::ANOTHER),
array(PaymentSubject::AGENT_COMMISSION),
array(PaymentSubject::PAYMENT),
array(PaymentSubject::GAMBLING_PRIZE),
array(PaymentSubject::GAMBLING_BET),
array(PaymentSubject::COMPOSITE),
array(PaymentSubject::INTELLECTUAL_ACTIVITY),
array(PaymentSubject::LOTTERY_PRIZE),
array(PaymentSubject::LOTTERY),
array(PaymentSubject::SERVICE),
array(PaymentSubject::JOB),
array(PaymentSubject::EXCISE),
array(PaymentSubject::COMMODITY),
);
}
public function validPaymentModeDataProvider()
{
return array(
array(null),
array(''),
array(PaymentMode::ADVANCE),
array(PaymentMode::CREDIT),
array(PaymentMode::CREDIT_PAYMENT),
array(PaymentMode::FULL_PAYMENT),
array(PaymentMode::FULL_PREPAYMENT),
array(PaymentMode::PARTIAL_PAYMENT),
array(PaymentMode::PARTIAL_PREPAYMENT),
);
}
/**
* @dataProvider invalidVatCodeDataProvider
* @expectedException \InvalidArgumentException
*
* @param $value
*/
public function testSetInvalidVatCode($value)
{
$this->getTestInstance()->setVatCode($value);
}
/**
* @dataProvider invalidVatCodeDataProvider
* @expectedException \InvalidArgumentException
*
* @param $value
*/
public function testSetterInvalidVatCode($value)
{
$this->getTestInstance()->vatCode = $value;
}
/**
* @dataProvider invalidVatCodeDataProvider
* @expectedException \InvalidArgumentException
*
* @param $value
*/
public function testSetterInvalidVat_code($value)
{
$this->getTestInstance()->vat_code = $value;
}
public function invalidVatCodeDataProvider()
{
return array(
array(true),
array(false),
array(array()),
array(new \stdClass()),
array(0),
array(7),
array(Random::int(-100, -1)),
array(Random::int(8, 100)),
);
}
/**
* @dataProvider validPriceDataProvider
*
* @param AmountInterface $value
*/
public function testGetSetPrice($value)
{
$instance = $this->getTestInstance();
self::assertNull($instance->getPrice());
self::assertNull($instance->price);
$instance->setPrice($value);
self::assertSame($value, $instance->getPrice());
self::assertSame($value, $instance->price);
}
/**
* @dataProvider validPriceDataProvider
*
* @param AmountInterface $value
*/
public function testSetterPrice($value)
{
$instance = $this->getTestInstance();
$instance->price = $value;
self::assertSame($value, $instance->getPrice());
self::assertSame($value, $instance->price);
}
public function validPriceDataProvider()
{
return array(
array(
new ReceiptItemAmount(
Random::int(1, 100),
Random::value(CurrencyCode::getValidValues())
),
),
array(
new ReceiptItemAmount(),
),
);
}
/**
* @dataProvider invalidPriceDataProvider
*
* @param $value
*/
public function testSetInvalidPrice($value)
{
if (class_exists('TypeError')) {
self::setExpectedException('TypeError');
$this->getTestInstance()->setPrice($value);
}
}
/**
* @dataProvider invalidPriceDataProvider
*
* @param $value
*/
public function testSetterInvalidPrice($value)
{
if (class_exists('TypeError')) {
self::setExpectedException('TypeError');
$this->getTestInstance()->price = $value;
}
}
public function invalidPriceDataProvider()
{
$result = array(
array(null),
array(''),
array(1.0),
array(1),
array(true),
array(false),
array(array()),
array(new \stdClass()),
);
return $result;
}
/**
* @dataProvider validIsShippingDataProvider
*
* @param $value
*/
public function testGetSetIsShipping($value)
{
$instance = $this->getTestInstance();
self::assertFalse($instance->isShipping());
$instance->setIsShipping($value);
if ($value) {
self::assertTrue($instance->isShipping());
} else {
self::assertFalse($instance->isShipping());
}
}
/**
* @dataProvider validIsShippingDataProvider
*
* @param $value
*/
public function testSetterIsShipping($value)
{
$instance = $this->getTestInstance();
$instance->isShipping = $value;
if ($value) {
self::assertTrue($instance->isShipping());
} else {
self::assertFalse($instance->isShipping());
}
}
/**
* @return array
*/
public function validIsShippingDataProvider()
{
return array(
array(true),
array(false),
array(0),
array(1),
array(2),
array(null),
array(''),
);
}
/**
* @expectedException \InvalidArgumentException
* @dataProvider invalidIsShippingDataProvider
*
* @param mixed $value
*/
public function testInvalidSetIsShipping($value)
{
$this->getTestInstance()->setIsShipping($value);
}
/**
* @expectedException \InvalidArgumentException
* @dataProvider invalidIsShippingDataProvider
*
* @param mixed $value
*/
public function testInvalidSetterIsShipping($value)
{
$this->getTestInstance()->isShipping = $value;
}
public function invalidIsShippingDataProvider()
{
return array(
array(array()),
array('true'),
array('false'),
array(new \stdClass()),
);
}
/**
* @dataProvider validApplyDiscountCoefficientDataProvider
*
* @param $baseValue
* @param $coefficient
* @param $expected
*/
public function testApplyDiscountCoefficient($baseValue, $coefficient, $expected)
{
$instance = $this->getTestInstance();
$instance->setPrice(new ReceiptItemAmount($baseValue));
$instance->applyDiscountCoefficient($coefficient);
self::assertEquals($expected, $instance->getPrice()->getIntegerValue());
}
public function validApplyDiscountCoefficientDataProvider()
{
return array(
array(1, 1, 100),
array(1.01, 1, 101),
array(1.01, 0.5, 51),
array(1.01, 0.4, 40),
array(1.00, 0.5, 50),
array(1.00, 0.333333333, 33),
array(2.00, 0.333333333, 67),
);
}
/**
* @dataProvider invalidApplyDiscountCoefficientDataProvider
* @expectedException \InvalidArgumentException
*
* @param mixed $coefficient
*/
public function testInvalidApplyDiscountCoefficient($coefficient)
{
$instance = $this->getTestInstance();
$instance->setPrice(new ReceiptItemAmount(Random::int(100)));
$instance->applyDiscountCoefficient($coefficient);
}
public function invalidApplyDiscountCoefficientDataProvider()
{
return array(
array(null),
array(''),
array('test'),
array(array()),
array(new \stdClass()),
array(-1.4),
array(-0.01),
array(-0.0001),
array(0.0),
array(true),
array(false),
);
}
/**
* @dataProvider validAmountDataProvider
*
* @param $price
* @param $quantity
*/
public function testGetAmount($price, $quantity)
{
$instance = $this->getTestInstance();
$instance->setPrice(new ReceiptItemAmount($price));
$instance->setQuantity($quantity);
$expected = (int)round($price * 100.0 * $quantity);
self::assertEquals($expected, $instance->getAmount());
}
public function validAmountDataProvider()
{
return array(
array(1, 1),
array(1.01, 1.01),
);
}
/**
* @dataProvider validIncreasePriceDataProvider
*
* @param float $price
* @param float $value
* @param int $expected
*/
public function testIncreasePrice($price, $value, $expected)
{
$instance = $this->getTestInstance();
$instance->setPrice(new ReceiptItemAmount($price));
$instance->increasePrice($value);
self::assertEquals($expected, $instance->getPrice()->getIntegerValue());
}
public function validIncreasePriceDataProvider()
{
return array(
array(1, 1, 200),
array(1.01, 3.03, 404),
array(1.01, -0.01, 100),
);
}
/**
* @dataProvider invalidIncreasePriceDataProvider
* @expectedException \InvalidArgumentException
*
* @param float $price
* @param float $value
*/
public function testInvalidIncreasePrice($price, $value)
{
$instance = $this->getTestInstance();
$instance->setPrice(new ReceiptItemAmount($price));
$instance->increasePrice($value);
}
public function invalidIncreasePriceDataProvider()
{
return array(
array(1, -1),
array(1.01, -1.01),
array(1.01, -1.02),
array(1.01, null),
array(1.01, false),
array(1.01, true),
array(1.01, ''),
array(1.01, 'test'),
array(1.01, array()),
array(1.01, new \stdClass()),
);
}
/**
* @dataProvider validFetchItemDataProvider
*
* @param $price
* @param $quantity
* @param $fetch
*/
public function testFetchItem($price, $quantity, $fetch)
{
$instance = $this->getTestInstance();
$instance->setPrice(new ReceiptItemAmount($price));
$instance->setQuantity($quantity);
$fetched = $instance->fetchItem($fetch);
self::assertTrue($fetched instanceof ReceiptItem);
self::assertNotSame($fetched->getPrice(), $instance->getPrice());
self::assertEquals($fetch, $fetched->getQuantity());
self::assertEquals($quantity - $fetch, $instance->getQuantity());
self::assertEquals($price, $instance->getPrice()->getValue());
self::assertEquals($price, $fetched->getPrice()->getValue());
}
public function validFetchItemDataProvider()
{
return array(
array(1, 2, 1),
array(1.01, 2, 1.5),
array(1.01, 2, 1.99),
array(1.01, 2, 1.9999),
);
}
/**
* @dataProvider invalidFetchItemDataProvider
* @expectedException \InvalidArgumentException
*
* @param $quantity
* @param $fetch
*/
public function testInvalidFetchItem($quantity, $fetch)
{
$instance = $this->getTestInstance();
$instance->setPrice(new ReceiptItemAmount(Random::int(1, 100)));
$instance->setQuantity($quantity);
$instance->fetchItem($fetch);
}
public function invalidFetchItemDataProvider()
{
return array(
array(1, 1),
array(1.01, 1.01),
array(1.01, 1.02),
array(1, null),
array(1, ''),
array(1, 0.0),
array(1, -12.3),
array(1, array()),
array(1, new \stdClass()),
array(1, 'test'),
);
}
////////////////////////////////////////////////////////////////
/**
* @dataProvider validProductCodeDataProvider
*
* @param $value
*/
public function testGetSetProductCode($value)
{
$instance = $this->getTestInstance();
self::assertNull($instance->getProductCode());
self::assertNull($instance->productCode);
self::assertNull($instance->product_code);
$instance->setProductCode($value);
self::assertEquals((string)$value, $instance->getProductCode());
self::assertEquals((string)$value, $instance->productCode);
self::assertEquals((string)$value, $instance->product_code);
}
/**
* @dataProvider validProductCodeDataProvider
*
* @param $value
*/
public function testGetSetProduct_code($value)
{
$instance = $this->getTestInstance();
$instance->product_code = $value;
self::assertEquals((string)$value, $instance->getProductCode());
self::assertEquals((string)$value, $instance->productCode);
self::assertEquals((string)$value, $instance->product_code);
}
/**
* @dataProvider validProductCodeDataProvider
*
* @param $value
*/
public function testSetterProductCode($value)
{
$instance = $this->getTestInstance();
$instance->productCode = $value;
self::assertEquals((string)$value, $instance->getProductCode());
self::assertEquals((string)$value, $instance->productCode);
self::assertEquals((string)$value, $instance->product_code);
}
public function validProductCodeDataProvider()
{
return array(
array(null),
array(''),
array(Random::str(2, 96, '0123456789ABCDEF ')),
);
}
/**
* @dataProvider invalidProductCodeDataProvider
* @expectedException \InvalidArgumentException
*
* @param $value
*/
public function testSetInvalidProductCode($value)
{
$this->getTestInstance()->setProductCode($value);
}
/**
* @dataProvider invalidProductCodeDataProvider
* @expectedException \InvalidArgumentException
*
* @param $value
*/
public function testSetterInvalidProductCode($value)
{
$this->getTestInstance()->productCode = $value;
}
public function invalidProductCodeDataProvider()
{
return array(
array(new StringObject('')),
array(true),
array(false),
array(new \stdClass()),
array(array()),
array(Random::str(2, 96, 'GHIJKLMNOPQRSTUVWXYZ!@#$%^&*()_+-=`~?><:"\'')),
);
}
////////////////////////////////////////////////////////////////
/**
* @dataProvider validCountryOfOriginCodeDataProvider
*
* @param $value
*/
public function testGetSetCountryOfOriginCode($value)
{
$instance = $this->getTestInstance();
self::assertNull($instance->getCountryOfOriginCode());
self::assertNull($instance->countryOfOriginCode);
self::assertNull($instance->country_of_origin_code);
$instance->setCountryOfOriginCode($value);
self::assertEquals((string)$value, $instance->getCountryOfOriginCode());
self::assertEquals((string)$value, $instance->countryOfOriginCode);
self::assertEquals((string)$value, $instance->country_of_origin_code);
}
/**
* @dataProvider validCountryOfOriginCodeDataProvider
*
* @param $value
*/
public function testSetterCountryOfOrigin_code($value)
{
$instance = $this->getTestInstance();
$instance->country_of_origin_code = $value;
self::assertEquals((string)$value, $instance->getCountryOfOriginCode());
self::assertEquals((string)$value, $instance->countryOfOriginCode);
self::assertEquals((string)$value, $instance->country_of_origin_code);
}
/**
* @dataProvider validCountryOfOriginCodeDataProvider
*
* @param $value
*/
public function testSetterCountryOfOriginCode($value)
{
$instance = $this->getTestInstance();
$instance->countryOfOriginCode = $value;
self::assertEquals((string)$value, $instance->getCountryOfOriginCode());
self::assertEquals((string)$value, $instance->countryOfOriginCode);
self::assertEquals((string)$value, $instance->country_of_origin_code);
}
public function validCountryOfOriginCodeDataProvider()
{
return array(
array(null),
array(''),
array(Random::str(2, 2, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')),
);
}
/**
* @dataProvider invalidCountryOfOriginCodeDataProvider
* @expectedException \InvalidArgumentException
*
* @param $value
*/
public function testSetInvalidCountryOfOriginCode($value)
{
$this->getTestInstance()->setCountryOfOriginCode($value);
}
/**
* @dataProvider invalidCountryOfOriginCodeDataProvider
* @expectedException \InvalidArgumentException
*
* @param $value
*/
public function testSetterInvalidCountryOfOriginCode($value)
{
$this->getTestInstance()->countryOfOriginCode = $value;
}
public function invalidCountryOfOriginCodeDataProvider()
{
return array(
array(new StringObject('')),
array(true),
array(false),
array(new \stdClass()),
array(array()),
array(Random::int()),
array(Random::str(1, 1)),
array(Random::str(3, null, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')),
array(Random::str(2, 2, '0123456789!@#$%^&*()_+-=`~?><:"\' ')),
);
}
/**
* @dataProvider validCustomsDeclarationNumberDataProvider
*
* @param $value
*/
public function testGetSetCustomsDeclarationNumber($value)
{
$instance = $this->getTestInstance();
self::assertNull($instance->getCustomsDeclarationNumber());
self::assertNull($instance->customsDeclarationNumber);
self::assertNull($instance->customs_declaration_number);
$instance->setCustomsDeclarationNumber($value);
self::assertEquals((string)$value, $instance->getCustomsDeclarationNumber());
self::assertEquals((string)$value, $instance->customsDeclarationNumber);
self::assertEquals((string)$value, $instance->customs_declaration_number);
}
/**
* @dataProvider validCustomsDeclarationNumberDataProvider
*
* @param $value
*/
public function testSetterCustomsDeclaration_number($value)
{
$instance = $this->getTestInstance();
$instance->customsDeclarationNumber = $value;
self::assertEquals((string)$value, $instance->getCustomsDeclarationNumber());
self::assertEquals((string)$value, $instance->customsDeclarationNumber);
self::assertEquals((string)$value, $instance->customs_declaration_number);
}
/**
* @dataProvider validCustomsDeclarationNumberDataProvider
*
* @param $value
*/
public function testSetterCustomsDeclarationNumber($value)
{
$instance = $this->getTestInstance();
$instance->customsDeclarationNumber = $value;
self::assertEquals((string)$value, $instance->getCustomsDeclarationNumber());
self::assertEquals((string)$value, $instance->customsDeclarationNumber);
self::assertEquals((string)$value, $instance->customs_declaration_number);
}
public function validCustomsDeclarationNumberDataProvider()
{
return array(
array(null),
array(''),
array(Random::str(1)),
array(Random::str(2, 31)),
array(Random::str(32)),
);
}
/**
* @dataProvider invalidCustomsDeclarationNumberDataProvider
* @expectedException \InvalidArgumentException
*
* @param $value
*/
public function testSetInvalidCustomsDeclarationNumber($value)
{
$this->getTestInstance()->setCustomsDeclarationNumber($value);
}
/**
* @dataProvider invalidCustomsDeclarationNumberDataProvider
* @expectedException \InvalidArgumentException
*
* @param $value
*/
public function testSetterInvalidCustomsDeclarationNumber($value)
{
$this->getTestInstance()->customsDeclarationNumber = $value;
}
public function invalidCustomsDeclarationNumberDataProvider()
{
return array(
array(true),
array(false),
array(new \stdClass()),
array(array()),
array(Random::str(33, 64)),
);
}
/**
* @dataProvider validExciseDataProvider
*
* @param $value
*/
public function testGetSetExcise($value)
{
$instance = $this->getTestInstance();
self::assertNull($instance->getExcise());
self::assertNull($instance->excise);
$instance->setExcise($value);
self::assertEquals((float)$value, $instance->getExcise());
self::assertEquals((float)$value, $instance->excise);
}
/**
* @dataProvider validExciseDataProvider
*
* @param $value
*/
public function testSetterExcise($value)
{
$instance = $this->getTestInstance();
$instance->excise = $value;
self::assertEquals((float)$value, $instance->getExcise());
self::assertEquals((float)$value, $instance->excise);
}
public function validExciseDataProvider()
{
return array(
array(null),
array(''),
array(1),
array(1.3),
array(0.001),
array(10000.001),
array('3.1415'),
array(Random::float(0.001, 9999.999)),
array(Random::int(1, 9999)),
);
}
/**
* @dataProvider invalidExciseDataProvider
* @expectedException \InvalidArgumentException
*
* @param $value
*/
public function testSetInvalidExcise($value)
{
$this->getTestInstance()->setExcise($value);
}
/**
* @dataProvider invalidExciseDataProvider
* @expectedException \InvalidArgumentException
*
* @param $value
*/
public function testSetterInvalidExcise($value)
{
$this->getTestInstance()->excise = $value;
}
public function invalidExciseDataProvider()
{
return array(
array(0.0),
array(Random::float(-100, -0.001)),
array(array()),
array(new \stdClass()),
);
}
}