コード例 #1
0
    TestSetGetValue5()
    {
        // Add N keys for each of N MetadataProvider objects, ask for same keys
        // in reverse order.

        // Create an array of keys.

        const Int32 Keys = 10;

        String [] asKeys = new String[Keys];

        for (Int32 i = 0; i < Keys; i++)
        {
            asKeys[i] = Guid.NewGuid().ToString();
        }

        // Create an array of MetadataProvider objects.

        const Int32 MetadataProviderObjects = 10000;

        MetadataProvider [] aoMetadataProvider =
            new MetadataProvider[MetadataProviderObjects];

        for (Int32 j = 0; j < MetadataProviderObjects; j++)
        {
            aoMetadataProvider[j] = new MetadataProvider();
        }

        // Add a value for each key.  The value is just the key with appended
        // indexes.

        for (Int32 j = 0; j < MetadataProviderObjects; j++)
        {
            MetadataProvider oMetadataProvider = aoMetadataProvider[j];

            for (Int32 i = 0; i < Keys; i++)
            {
                String sKey = asKeys[i];

                oMetadataProvider.SetValue(
                    sKey, sKey + i.ToString() + j.ToString() );
            }
        }

        // Retrieve the values.

        Boolean bContainsKey;

        for (Int32 j = MetadataProviderObjects - 1; j >= 0; j--)
        {
            MetadataProvider oMetadataProvider = aoMetadataProvider[j];

            for (Int32 i = Keys - 1; i >= 0; i--)
            {
                String sKey = asKeys[i];

                bContainsKey = oMetadataProvider.ContainsKey(sKey);

                Assert.IsTrue(bContainsKey);

                Object oValue;

                Assert.IsTrue( oMetadataProvider.TryGetValue(
                    sKey, out oValue) );

                Assert.IsTrue(oValue is String);

                Assert.AreEqual(sKey + i.ToString() + j.ToString(),
                    (String)oValue);
            }

            // Ask for a non-existent value.

            bContainsKey = oMetadataProvider.ContainsKey("nHnHn");

            Assert.IsFalse(bContainsKey);
        }

        // Create another MetadataProvider object and verify that it contains
        // no keys.

        MetadataProvider oMetadataProviderNoKeys = new MetadataProvider();

        for (Int32 i = 0; i < Keys; i++)
        {
            String sKey = asKeys[i];

            bContainsKey = oMetadataProviderNoKeys.ContainsKey(sKey);

            Assert.IsFalse(bContainsKey);

            Object oValue;

            Assert.IsFalse( m_oMetadataProvider.TryGetValue(
                sKey, out oValue) );
        }
    }
コード例 #2
0
        TestRemoveKey5()
        {
            // Create N objects, set metadata on each object, remove keys one by
            // one in backwards order.

            const Int32 Objects = 10;

            const Int32 Keys = 5;

            MetadataProvider [] aoMetadataProvider = new MetadataProvider[Objects];

            // Set values on each object.

            for (Int32 i = 0; i < Objects; i++)
            {
                MetadataProvider oMetadataProvider =
                    aoMetadataProvider[i] = new MetadataProvider();

                for (Int32 j = 0; j < Keys; j++)
                {
                    oMetadataProvider.SetValue(j.ToString(), "string");
                }
            }

            // Remove the keys from each object.

            for (Int32 i = Objects - 1; i >= 0; i--)
            {
                MetadataProvider oMetadataProvider = aoMetadataProvider[i];

                for (Int32 j = Keys - 1; j >= 0; j--)
                {
                    Boolean bRemovedKey =
                        oMetadataProvider.RemoveKey(j.ToString());

                    Assert.IsTrue(bRemovedKey);

                    // Check the status of all the keys.

                    for (Int32 I = 0; I < Objects; I++)
                    {
                        MetadataProvider oMetadataProvider2 = aoMetadataProvider[I];

                        for (Int32 J = 0; J < Keys; J++)
                        {
                            Boolean bContainsKey =
                                oMetadataProvider2.ContainsKey(J.ToString());

                            if (I < i)
                            {
                                Assert.IsTrue(bContainsKey);
                            }
                            else if (I == i)
                            {
                                if (J < j)
                                {
                                    Assert.IsTrue(bContainsKey);
                                }
                                else
                                {
                                    Assert.IsFalse(bContainsKey);
                                }
                            }
                            else
                            {
                                Assert.IsFalse(bContainsKey);
                            }
                        }
                    }
                }
            }
        }
コード例 #3
0
        TestClearMetadata()
        {
            // Add tags and N keys for each of N MetadataProvider objects, ask
            // for same tags and keys, clear metadata for each object.

            // Create an array of keys.

            const Int32 Keys = 10;

            String [] asKeys = new String[Keys];

            for (Int32 i = 0; i < Keys; i++)
            {
                asKeys[i] = Guid.NewGuid().ToString();
            }

            // Create an array of MetadataProvider objects.

            const Int32 MetadataProviderObjects = 100;

            MetadataProvider [] aoMetadataProvider =
                new MetadataProvider[MetadataProviderObjects];

            for (Int32 j = 0; j < MetadataProviderObjects; j++)
            {
                aoMetadataProvider[j] = new MetadataProvider();
            }

            // Add a Tag and a value for each key.  The value is just the key with
            // appended indexes.

            for (Int32 j = 0; j < MetadataProviderObjects; j++)
            {
                MetadataProvider oMetadataProvider = aoMetadataProvider[j];

                oMetadataProvider.Tag = j.ToString() + "Tag";

                for (Int32 i = 0; i < Keys; i++)
                {
                    String sKey = asKeys[i];

                    oMetadataProvider.SetValue(
                        sKey, sKey + i.ToString() + j.ToString());
                }
            }

            // Retrieve the values.

            Boolean bContainsKey;

            for (Int32 j = 0; j < MetadataProviderObjects; j++)
            {
                MetadataProvider oMetadataProvider = aoMetadataProvider[j];

                Assert.AreEqual(
                    j.ToString() + "Tag",
                    oMetadataProvider.Tag
                    );

                for (Int32 i = Keys - 1; i >= 0; i--)
                {
                    String sKey = asKeys[i];

                    bContainsKey = oMetadataProvider.ContainsKey(sKey);

                    Assert.IsTrue(bContainsKey);

                    Object oValue;

                    Assert.IsTrue(oMetadataProvider.TryGetValue(
                                      sKey, out oValue));

                    Assert.IsTrue(oValue is String);

                    Assert.AreEqual(sKey + i.ToString() + j.ToString(),
                                    (String)oValue);
                }

                // Ask for a non-existent value.

                bContainsKey = oMetadataProvider.ContainsKey("nHnHn");

                Assert.IsFalse(bContainsKey);
            }

            // Remove metadata for each object.

            for (Int32 k = 0; k < MetadataProviderObjects; k++)
            {
                aoMetadataProvider[k].ClearMetadata();

                // Check all the objects, some of which will have no metadata.

                for (Int32 j = 0; j < MetadataProviderObjects; j++)
                {
                    MetadataProvider oMetadataProvider = aoMetadataProvider[j];

                    if (j > k)
                    {
                        Assert.AreEqual(
                            j.ToString() + "Tag",
                            oMetadataProvider.Tag
                            );
                    }
                    else
                    {
                        Assert.IsNull(oMetadataProvider.Tag);
                    }

                    for (Int32 i = Keys - 1; i >= 0; i--)
                    {
                        String sKey = asKeys[i];

                        bContainsKey = oMetadataProvider.ContainsKey(sKey);

                        if (j > k)
                        {
                            Assert.IsTrue(bContainsKey);

                            Object oValue;

                            Assert.IsTrue(oMetadataProvider.TryGetValue(
                                              sKey, out oValue));

                            Assert.IsTrue(oValue is String);

                            Assert.AreEqual(sKey + i.ToString() + j.ToString(),
                                            (String)oValue);
                        }
                        else
                        {
                            Assert.IsFalse(bContainsKey);
                        }
                    }
                }
            }
        }
コード例 #4
0
        TestSetGetValue5()
        {
            // Add N keys for each of N MetadataProvider objects, ask for same keys
            // in reverse order.

            // Create an array of keys.

            const Int32 Keys = 10;

            String [] asKeys = new String[Keys];

            for (Int32 i = 0; i < Keys; i++)
            {
                asKeys[i] = Guid.NewGuid().ToString();
            }

            // Create an array of MetadataProvider objects.

            const Int32 MetadataProviderObjects = 10000;

            MetadataProvider [] aoMetadataProvider =
                new MetadataProvider[MetadataProviderObjects];

            for (Int32 j = 0; j < MetadataProviderObjects; j++)
            {
                aoMetadataProvider[j] = new MetadataProvider();
            }

            // Add a value for each key.  The value is just the key with appended
            // indexes.

            for (Int32 j = 0; j < MetadataProviderObjects; j++)
            {
                MetadataProvider oMetadataProvider = aoMetadataProvider[j];

                for (Int32 i = 0; i < Keys; i++)
                {
                    String sKey = asKeys[i];

                    oMetadataProvider.SetValue(
                        sKey, sKey + i.ToString() + j.ToString());
                }
            }

            // Retrieve the values.

            Boolean bContainsKey;

            for (Int32 j = MetadataProviderObjects - 1; j >= 0; j--)
            {
                MetadataProvider oMetadataProvider = aoMetadataProvider[j];

                for (Int32 i = Keys - 1; i >= 0; i--)
                {
                    String sKey = asKeys[i];

                    bContainsKey = oMetadataProvider.ContainsKey(sKey);

                    Assert.IsTrue(bContainsKey);

                    Object oValue;

                    Assert.IsTrue(oMetadataProvider.TryGetValue(
                                      sKey, out oValue));

                    Assert.IsTrue(oValue is String);

                    Assert.AreEqual(sKey + i.ToString() + j.ToString(),
                                    (String)oValue);
                }

                // Ask for a non-existent value.

                bContainsKey = oMetadataProvider.ContainsKey("nHnHn");

                Assert.IsFalse(bContainsKey);
            }

            // Create another MetadataProvider object and verify that it contains
            // no keys.

            MetadataProvider oMetadataProviderNoKeys = new MetadataProvider();

            for (Int32 i = 0; i < Keys; i++)
            {
                String sKey = asKeys[i];

                bContainsKey = oMetadataProviderNoKeys.ContainsKey(sKey);

                Assert.IsFalse(bContainsKey);

                Object oValue;

                Assert.IsFalse(m_oMetadataProvider.TryGetValue(
                                   sKey, out oValue));
            }
        }