PluginProbe ʕ •ᴥ•ʔ
ShareThis Dashboard for Google Analytics / trunk
ShareThis Dashboard for Google Analytics vtrunk
3.3.2 trunk 1.0.7 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.1 2.1.2 2.1.3 2.1.4 2.1.5 2.2.5 2.3.5 2.3.6 2.3.7 2.3.8 2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 3.0.0 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.2.0 3.2.1 3.2.2 3.2.3 3.2.4 3.3.0 3.3.1
googleanalytics / lib / analytics-admin / vendor / google / gax / src / Testing / ProtobufMessageComparator.php
googleanalytics / lib / analytics-admin / vendor / google / gax / src / Testing Last commit date
GeneratedTest.php 3 years ago MessageAwareArrayComparator.php 3 years ago MessageAwareExporter.php 3 years ago MockBidiStreamingCall.php 3 years ago MockClientStreamingCall.php 3 years ago MockGrpcTransport.php 3 years ago MockRequest.php 3 years ago MockRequestBody.php 3 years ago MockResponse.php 3 years ago MockServerStreamingCall.php 3 years ago MockStatus.php 3 years ago MockStubTrait.php 3 years ago MockTransport.php 3 years ago MockUnaryCall.php 3 years ago ProtobufGPBEmptyComparator.php 3 years ago ProtobufMessageComparator.php 3 years ago ReceivedRequest.php 3 years ago SerializationTrait.php 3 years ago mocks.proto 3 years ago
ProtobufMessageComparator.php
80 lines
1 <?php
2 /**
3 * Copyright 2018 Google LLC
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18 namespace Google\ApiCore\Testing;
19
20 use Google\Protobuf\Internal\Message;
21 use SebastianBergmann\Comparator\Comparator;
22 use SebastianBergmann\Comparator\ComparisonFailure;
23 use SebastianBergmann\Exporter\Exporter;
24
25 /**
26 * @internal
27 */
28 class ProtobufMessageComparator extends Comparator
29 {
30 /** @var Exporter */
31 protected $exporter;
32
33 public function __construct()
34 {
35 parent::__construct();
36 $this->exporter = new MessageAwareExporter();
37 }
38
39 /**
40 * Returns whether the comparator can compare two values.
41 *
42 * @param mixed $expected The first value to compare
43 * @param mixed $actual The second value to compare
44 * @return boolean
45 */
46 public function accepts($expected, $actual)
47 {
48 return $expected instanceof Message && $actual instanceof Message;
49 }
50
51 /**
52 * Asserts that two values are equal.
53 *
54 * @param Message $expected The first value to compare
55 * @param Message $actual The second value to compare
56 * @param float|int $delta The allowed numerical distance between two values to
57 * consider them equal
58 * @param bool $canonicalize If set to TRUE, arrays are sorted before
59 * comparison
60 * @param bool $ignoreCase If set to TRUE, upper- and lowercasing is
61 * ignored when comparing string values
62 * @throws ComparisonFailure Thrown when the comparison
63 * fails. Contains information about the
64 * specific errors that lead to the failure.
65 */
66 public function assertEquals($expected, $actual, $delta = 0, $canonicalize = FALSE, $ignoreCase = FALSE)
67 {
68 if ($expected->serializeToString() !== $actual->serializeToString()) {
69 throw new ComparisonFailure(
70 $expected,
71 $actual,
72 $this->exporter->shortenedExport($expected),
73 $this->exporter->shortenedExport($actual),
74 false,
75 'Given 2 Message objects are not the same'
76 );
77 }
78 }
79 }
80