aboutsummaryrefslogtreecommitdiffhomepage
path: root/Firestore/core/test
diff options
context:
space:
mode:
authorGravatar zxu <zxu@google.com>2018-04-05 11:52:07 -0400
committerGravatar GitHub <noreply@github.com>2018-04-05 11:52:07 -0400
commitdb717bf6704b444b093d46f53935402c83441854 (patch)
tree11f69c3ba737c7509f620f3660d6c8d6057fc2d7 /Firestore/core/test
parent7257c0d22727a7e94867992aa2f1a3e283dc6bb7 (diff)
Port transform operations to C++ (#1020)
* port FieldMask to C++ * address changes * address changes * fix test * address change * Port transform operations (FSTTransformOperation, FSTServerTimestampTransform) to C++ * address changes * address changes * address changes * address change
Diffstat (limited to 'Firestore/core/test')
-rw-r--r--Firestore/core/test/firebase/firestore/model/CMakeLists.txt1
-rw-r--r--Firestore/core/test/firebase/firestore/model/transform_operations_test.cc51
2 files changed, 52 insertions, 0 deletions
diff --git a/Firestore/core/test/firebase/firestore/model/CMakeLists.txt b/Firestore/core/test/firebase/firestore/model/CMakeLists.txt
index 59a1f03..5e494f1 100644
--- a/Firestore/core/test/firebase/firestore/model/CMakeLists.txt
+++ b/Firestore/core/test/firebase/firestore/model/CMakeLists.txt
@@ -25,6 +25,7 @@ cc_test(
no_document_test.cc
resource_path_test.cc
snapshot_version_test.cc
+ transform_operations_test.cc
DEPENDS
firebase_firestore_model
)
diff --git a/Firestore/core/test/firebase/firestore/model/transform_operations_test.cc b/Firestore/core/test/firebase/firestore/model/transform_operations_test.cc
new file mode 100644
index 0000000..0ef95db
--- /dev/null
+++ b/Firestore/core/test/firebase/firestore/model/transform_operations_test.cc
@@ -0,0 +1,51 @@
+/*
+ * Copyright 2018 Google
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "Firestore/core/src/firebase/firestore/model/transform_operations.h"
+
+#include "gtest/gtest.h"
+
+namespace firebase {
+namespace firestore {
+namespace model {
+
+class DummyOperation : public TransformOperation {
+ public:
+ DummyOperation() {
+ }
+
+ Type type() const override {
+ return Type::Test;
+ }
+
+ bool operator==(const TransformOperation& other) const override {
+ return this == &other;
+ }
+};
+
+TEST(TransformOperations, ServerTimestamp) {
+ ServerTimestampTransform transform = ServerTimestampTransform::Get();
+ EXPECT_EQ(TransformOperation::Type::ServerTimestamp, transform.type());
+
+ ServerTimestampTransform another = ServerTimestampTransform::Get();
+ DummyOperation dummy;
+ EXPECT_EQ(transform, another);
+ EXPECT_NE(transform, dummy);
+}
+
+} // namespace model
+} // namespace firestore
+} // namespace firebase