public void TestCopyConstructor()
        {
            WriteManifest(MANIFEST_SIMPLE);
            Assert.That(modifier.ReadManifest(), Is.EqualTo(true));

            PackageManifestModifier copy = new PackageManifestModifier(modifier);

            CollectionAssert.AreEquivalent(copy.manifestDict, modifier.manifestDict);
            Assert.That(copy.GetManifestJson(), Is.EqualTo(MANIFEST_SIMPLE));
            Assert.That(copy.GetManifestJson(), Is.EqualTo(modifier.GetManifestJson()));
        }
        public void TestReadManifestValid()
        {
            WriteManifest(MANIFEST_SIMPLE);
            Assert.That(modifier.GetManifestJson(), Is.Empty);
            Assert.That(modifier.ReadManifest(), Is.EqualTo(true));
            Assert.That(modifier.GetManifestJson(), Is.EqualTo(MANIFEST_SIMPLE));

            var expected = new Dictionary <string, object>()
            {
                {
                    "dependencies",
                    new Dictionary <string, object>()
                    {
                        { "com.bar.foo", "1.2.3" }
                    }
                },
                {
                    "scopedRegistries",
                    new List <Dictionary <string, object> >()
                    {
                        new Dictionary <string, object>()
                        {
                            { "name", "A UPM Registry" },
                            { "url", "https://unity.foobar.com" },
                            {
                                "scopes",
                                new List <string>()
                                {
                                    "foobar.unity.voxels"
                                }
                            }
                        }
                    }
                }
            };

            CollectionAssert.AreEquivalent(modifier.manifestDict, expected);
        }