Ejemplo n.º 1
0
        private static void AssertEqual(Dictionary <string, object> expected, AttributesTable actual)
        {
            // test everything after a serialize + deserialize round-trip
            ExpectedAndActual.RoundTrip(ref expected, ref actual);

            Assert.That(actual.Count, Is.EqualTo(expected.Count));
            Assert.That(actual, Is.EquivalentTo(expected));

            Assert.That(actual.GetNames().Count, Is.EqualTo(expected.Keys.Count));
            Assert.That(actual.GetNames(), Is.EquivalentTo(expected.Keys));

            Assert.That(actual.GetValues().Count, Is.EqualTo(expected.Values.Count));
            Assert.That(actual.GetValues(), Is.EquivalentTo(expected.Values));

            foreach ((string key, object value) in expected)
            {
                Assert.That(actual.Exists(key));
                Assert.That(actual[key], Is.EqualTo(value));

                object retrieved = actual.GetOptionalValue(key);
                Assert.That(retrieved, Is.EqualTo(value));

                Assert.That(actual.GetType(key), Is.EqualTo(value?.GetType() ?? typeof(object)));
            }
        }