[REFACTOR] Move and refactor tests.

Some tests from boot_control_android_unittest only
test logic of UpdatePartitionMetadata. Move them to
dynamic_partition_control_android_unittest.

After moving the test, boot_control_android_unittest
can depend on the MockDynamicPartitionControl (which
is a mocked DynamicPartitionControlInterface) directly
again. It no longer depends on internal implementation
of DynamicPartitionControlAndroid.

Test: unittest
Fixes: 138333673

Change-Id: Idc5f11be98754b8f6d38fcb8604af497e5d86376
diff --git a/mock_dynamic_partition_control.h b/mock_dynamic_partition_control.h
index a0701e7..72eb030 100644
--- a/mock_dynamic_partition_control.h
+++ b/mock_dynamic_partition_control.h
@@ -27,6 +27,30 @@
 
 namespace chromeos_update_engine {
 
+class MockDynamicPartitionControl : public DynamicPartitionControlInterface {
+ public:
+  MOCK_METHOD5(MapPartitionOnDeviceMapper,
+               bool(const std::string&,
+                    const std::string&,
+                    uint32_t,
+                    bool,
+                    std::string*));
+  MOCK_METHOD0(Cleanup, void());
+  MOCK_METHOD1(DeviceExists, bool(const std::string&));
+  MOCK_METHOD1(GetState, ::android::dm::DmDeviceState(const std::string&));
+  MOCK_METHOD2(GetDmDevicePathByName, bool(const std::string&, std::string*));
+  MOCK_METHOD2(LoadMetadataBuilder,
+               std::unique_ptr<::android::fs_mgr::MetadataBuilder>(
+                   const std::string&, uint32_t));
+  MOCK_METHOD1(GetDeviceDir, bool(std::string*));
+  MOCK_METHOD0(GetDynamicPartitionsFeatureFlag, FeatureFlag());
+  MOCK_METHOD3(PreparePartitionsForUpdate,
+               bool(uint32_t,
+                    uint32_t,
+                    const BootControlInterface::PartitionMetadata&));
+  MOCK_METHOD1(GetSuperPartitionName, std::string(uint32_t));
+};
+
 class MockDynamicPartitionControlAndroid
     : public DynamicPartitionControlAndroid {
  public: