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)); } }
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."); } }
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); } }