chrisbryan17's picture
Upload folder using huggingface_hub
d2897cd verified
<?php
declare(strict_types=1);
namespace Mautic\IntegrationsBundle\Tests\Unit\Sync\SyncJudge\Modes;
use Mautic\IntegrationsBundle\Sync\DAO\Sync\InformationChangeRequestDAO;
use Mautic\IntegrationsBundle\Sync\DAO\Value\NormalizedValueDAO;
use Mautic\IntegrationsBundle\Sync\Exception\ConflictUnresolvedException;
use Mautic\IntegrationsBundle\Sync\SyncJudge\Modes\FuzzyEvidence;
use PHPUnit\Framework\TestCase;
class FuzzyEvidenceTest extends TestCase
{
public function testLeftWinnerWithCertainChangeDateTime(): void
{
$leftChangeRequest = new InformationChangeRequestDAO(
'Test',
'Object',
1,
'field',
new NormalizedValueDAO(NormalizedValueDAO::TEXT_TYPE, 'test')
);
$leftChangeRequest->setCertainChangeDateTime(new \DateTimeImmutable('2018-10-08 00:01:00'));
$rightChangeRequest = new InformationChangeRequestDAO(
'Test',
'Object',
1,
'field',
new NormalizedValueDAO(NormalizedValueDAO::TEXT_TYPE, 'test')
);
$rightChangeRequest->setCertainChangeDateTime(new \DateTimeImmutable('2018-10-08 00:00:00'));
$winner = FuzzyEvidence::adjudicate($leftChangeRequest, $rightChangeRequest);
$this->assertEquals($leftChangeRequest, $winner);
}
public function testRightWinnerWithCertainChangeDateTime(): void
{
$leftChangeRequest = new InformationChangeRequestDAO(
'Test',
'Object',
1,
'field',
new NormalizedValueDAO(NormalizedValueDAO::TEXT_TYPE, 'test')
);
$leftChangeRequest->setCertainChangeDateTime(new \DateTimeImmutable('2018-10-08 00:00:00'));
$rightChangeRequest = new InformationChangeRequestDAO(
'Test',
'Object',
1,
'field',
new NormalizedValueDAO(NormalizedValueDAO::TEXT_TYPE, 'test')
);
$rightChangeRequest->setCertainChangeDateTime(new \DateTimeImmutable('2018-10-08 00:01:00'));
$winner = FuzzyEvidence::adjudicate($leftChangeRequest, $rightChangeRequest);
$this->assertEquals($rightChangeRequest, $winner);
}
public function testLeftWinnerWithPossibleChangeDateTime(): void
{
$leftChangeRequest = new InformationChangeRequestDAO(
'Test',
'Object',
1,
'field',
new NormalizedValueDAO(NormalizedValueDAO::TEXT_TYPE, 'test')
);
$leftChangeRequest->setPossibleChangeDateTime(new \DateTimeImmutable('2018-10-08 00:01:00'));
$rightChangeRequest = new InformationChangeRequestDAO(
'Test',
'Object',
1,
'field',
new NormalizedValueDAO(NormalizedValueDAO::TEXT_TYPE, 'test')
);
$rightChangeRequest->setPossibleChangeDateTime(new \DateTimeImmutable('2018-10-08 00:00:00'));
$winner = FuzzyEvidence::adjudicate($leftChangeRequest, $rightChangeRequest);
$this->assertEquals($leftChangeRequest, $winner);
}
public function testRightWinnerWithPossibleChangeDateTime(): void
{
$leftChangeRequest = new InformationChangeRequestDAO(
'Test',
'Object',
1,
'field',
new NormalizedValueDAO(NormalizedValueDAO::TEXT_TYPE, 'test')
);
$leftChangeRequest->setPossibleChangeDateTime(new \DateTimeImmutable('2018-10-08 00:00:00'));
$rightChangeRequest = new InformationChangeRequestDAO(
'Test',
'Object',
1,
'field',
new NormalizedValueDAO(NormalizedValueDAO::TEXT_TYPE, 'test')
);
$rightChangeRequest->setPossibleChangeDateTime(new \DateTimeImmutable('2018-10-08 00:01:00'));
$winner = FuzzyEvidence::adjudicate($leftChangeRequest, $rightChangeRequest);
$this->assertEquals($rightChangeRequest, $winner);
}
public function testLeftWinnerWithCertainChangeDateTimeNewerThanRightPossibleChangeDateTime(): void
{
$leftChangeRequest = new InformationChangeRequestDAO(
'Test',
'Object',
1,
'field',
new NormalizedValueDAO(NormalizedValueDAO::TEXT_TYPE, 'test')
);
$leftChangeRequest->setCertainChangeDateTime(new \DateTimeImmutable('2018-10-08 00:01:00'));
$rightChangeRequest = new InformationChangeRequestDAO(
'Test',
'Object',
1,
'field',
new NormalizedValueDAO(NormalizedValueDAO::TEXT_TYPE, 'test')
);
$rightChangeRequest->setPossibleChangeDateTime(new \DateTimeImmutable('2018-10-08 00:00:00'));
$winner = FuzzyEvidence::adjudicate($leftChangeRequest, $rightChangeRequest);
$this->assertEquals($leftChangeRequest, $winner);
}
public function testRightWinnerWithCertainChangeDateTimeNewerThanLeftPossibleChangeDateTime(): void
{
$leftChangeRequest = new InformationChangeRequestDAO(
'Test',
'Object',
1,
'field',
new NormalizedValueDAO(NormalizedValueDAO::TEXT_TYPE, 'test')
);
$leftChangeRequest->setPossibleChangeDateTime(new \DateTimeImmutable('2018-10-08 00:00:00'));
$rightChangeRequest = new InformationChangeRequestDAO(
'Test',
'Object',
1,
'field',
new NormalizedValueDAO(NormalizedValueDAO::TEXT_TYPE, 'test')
);
$rightChangeRequest->setCertainChangeDateTime(new \DateTimeImmutable('2018-10-08 00:01:00'));
$winner = FuzzyEvidence::adjudicate($leftChangeRequest, $rightChangeRequest);
$this->assertEquals($rightChangeRequest, $winner);
}
public function testUnresolvedConflictExceptionThrownIfLeftCertainIsEqualToRightPossible(): void
{
$leftChangeRequest = new InformationChangeRequestDAO(
'Test',
'Object',
1,
'field',
new NormalizedValueDAO(NormalizedValueDAO::TEXT_TYPE, 'test')
);
$leftChangeRequest->setCertainChangeDateTime(new \DateTimeImmutable('2018-10-08 00:01:00'));
$rightChangeRequest = new InformationChangeRequestDAO(
'Test',
'Object',
1,
'field',
new NormalizedValueDAO(NormalizedValueDAO::TEXT_TYPE, 'test')
);
$rightChangeRequest->setPossibleChangeDateTime(new \DateTimeImmutable('2018-10-08 00:01:00'));
$this->expectException(ConflictUnresolvedException::class);
FuzzyEvidence::adjudicate($leftChangeRequest, $rightChangeRequest);
}
public function testUnresolvedConflictExceptionThrownIfRightCertainIsEqualToLeftPossible(): void
{
$leftChangeRequest = new InformationChangeRequestDAO(
'Test',
'Object',
1,
'field',
new NormalizedValueDAO(NormalizedValueDAO::TEXT_TYPE, 'test')
);
$leftChangeRequest->setPossibleChangeDateTime(new \DateTimeImmutable('2018-10-08 00:01:00'));
$rightChangeRequest = new InformationChangeRequestDAO(
'Test',
'Object',
1,
'field',
new NormalizedValueDAO(NormalizedValueDAO::TEXT_TYPE, 'test')
);
$rightChangeRequest->setCertainChangeDateTime(new \DateTimeImmutable('2018-10-08 00:01:00'));
$this->expectException(ConflictUnresolvedException::class);
FuzzyEvidence::adjudicate($leftChangeRequest, $rightChangeRequest);
}
public function testUnresolvedConflictExceptionThrownIfLeftCertainIsNull(): void
{
$leftChangeRequest = new InformationChangeRequestDAO(
'Test',
'Object',
1,
'field',
new NormalizedValueDAO(NormalizedValueDAO::TEXT_TYPE, 'test')
);
$rightChangeRequest = new InformationChangeRequestDAO(
'Test',
'Object',
1,
'field',
new NormalizedValueDAO(NormalizedValueDAO::TEXT_TYPE, 'test')
);
$rightChangeRequest->setCertainChangeDateTime(new \DateTimeImmutable('2018-10-08 00:01:00'));
$this->expectException(ConflictUnresolvedException::class);
FuzzyEvidence::adjudicate($leftChangeRequest, $rightChangeRequest);
}
public function testUnresolvedConflictExceptionThrownIfRightCertainIsNull(): void
{
$leftChangeRequest = new InformationChangeRequestDAO(
'Test',
'Object',
1,
'field',
new NormalizedValueDAO(NormalizedValueDAO::TEXT_TYPE, 'test')
);
$leftChangeRequest->setCertainChangeDateTime(new \DateTimeImmutable('2018-10-08 00:01:00'));
$rightChangeRequest = new InformationChangeRequestDAO(
'Test',
'Object',
1,
'field',
new NormalizedValueDAO(NormalizedValueDAO::TEXT_TYPE, 'test')
);
$this->expectException(ConflictUnresolvedException::class);
FuzzyEvidence::adjudicate($leftChangeRequest, $rightChangeRequest);
}
public function testUnresolvedConflictExceptionThrownIfLeftPossibleIsNull(): void
{
$leftChangeRequest = new InformationChangeRequestDAO(
'Test',
'Object',
1,
'field',
new NormalizedValueDAO(NormalizedValueDAO::TEXT_TYPE, 'test')
);
$rightChangeRequest = new InformationChangeRequestDAO(
'Test',
'Object',
1,
'field',
new NormalizedValueDAO(NormalizedValueDAO::TEXT_TYPE, 'test')
);
$rightChangeRequest->setPossibleChangeDateTime(new \DateTimeImmutable('2018-10-08 00:01:00'));
$this->expectException(ConflictUnresolvedException::class);
FuzzyEvidence::adjudicate($leftChangeRequest, $rightChangeRequest);
}
public function testUnresolvedConflictExceptionThrownIfRightPossibleIsNull(): void
{
$leftChangeRequest = new InformationChangeRequestDAO(
'Test',
'Object',
1,
'field',
new NormalizedValueDAO(NormalizedValueDAO::TEXT_TYPE, 'test')
);
$leftChangeRequest->setPossibleChangeDateTime(new \DateTimeImmutable('2018-10-08 00:01:00'));
$rightChangeRequest = new InformationChangeRequestDAO(
'Test',
'Object',
1,
'field',
new NormalizedValueDAO(NormalizedValueDAO::TEXT_TYPE, 'test')
);
$this->expectException(ConflictUnresolvedException::class);
FuzzyEvidence::adjudicate($leftChangeRequest, $rightChangeRequest);
}
}