Esempio n. 1
0
        public void CanSetAndGetValues()
        {
            var random = new Random();

            using (var instance = new MFAttributes(0))
            {
                Guid guid = Guid.NewGuid();
                instance.SetDouble(guid, 10d);
                Assert.AreEqual(10d, instance.GetDouble(guid));

                guid = Guid.NewGuid();
                instance.SetGuid(guid, guid);
                Assert.AreEqual(guid, instance.GetGuid(guid));

                guid = Guid.NewGuid();
                instance.SetString(guid, "Hello World");
                Assert.AreEqual("Hello World", instance.GetString(guid));

                guid = Guid.NewGuid();
                instance.SetUINT32(guid, 10);
                Assert.AreEqual(10, instance.GetUINT32(guid));

                guid = Guid.NewGuid();
                instance.SetUINT64(guid, 10L);
                Assert.AreEqual(10L, instance.GetUINT64(guid));

                guid = Guid.NewGuid();
                var value = new PropertyVariant()
                {
                    DataType  = VarEnum.VT_UI4,
                    UIntValue = 10
                };
                instance.SetItem(guid, value);
                Assert.AreEqual(value, instance.GetItem(guid));

                guid = Guid.NewGuid();
                byte[] inputBlob = new byte[100];
                random.NextBytes(inputBlob);
                instance.Set(guid, inputBlob);
                CollectionAssert.AreEqual(inputBlob, instance.Get <byte[]>(guid));

                guid = Guid.NewGuid();
                TestStruct testStructValue = new TestStruct()
                {
                    Field0 = Guid.NewGuid(),
                    Field1 = random.Next(),
                    Field2 = random.NextDouble() * random.Next(),
                };
                instance.Set(guid, testStructValue);
                Assert.AreEqual(testStructValue, instance.Get <TestStruct>(guid));
            }
        }
Esempio n. 2
0
        public void CanDeleteItem()
        {
            double val;

            using (var instance = new MFAttributes(0))
            {
                Guid guid = Guid.NewGuid();
                instance.SetDouble(guid, 100);
                Assert.AreEqual(100, instance.GetDouble(guid));

                instance.DeleteItem(guid);
                Assert.IsFalse(instance.TryGet(guid, out val), "Item got not deleted.");
            }
        }
Esempio n. 3
0
        public void CanDeleteAllItems()
        {
            const int count = 20;
            double    val;
            Random    random = new Random();

            using (var instance = new MFAttributes(0))
            {
                for (int i = 0; i < count; i++)
                {
                    Guid guid = Guid.NewGuid();
                    val = random.NextDouble() * (i + 1);
                    instance.SetDouble(guid, val);
                    Assert.AreEqual(val, instance.GetDouble(guid));
                }

                Assert.AreEqual(count, instance.Count);
                instance.DeleteAllItems();
                Assert.AreEqual(0, instance.Count);
            }
        }