Beispiel #1
0
        public void _09_UintArrayAttributeTest()
        {
            Helpers.CheckPlatform();

            List <NativeULong> originalValue = new List <NativeULong>();

            originalValue.Add(333333);
            originalValue.Add(666666);

            // Create attribute with NativeULong array value
            using (ObjectAttribute attr = new ObjectAttribute(CKA.CKA_ALLOWED_MECHANISMS, originalValue))
            {
                Assert.IsTrue(attr.Type == NativeLongUtils.ConvertFromCKA(CKA.CKA_ALLOWED_MECHANISMS));

                List <NativeULong> recoveredValue = attr.GetValueAsNativeULongList();
                for (int i = 0; i < recoveredValue.Count; i++)
                {
                    Assert.IsTrue(originalValue[i] == recoveredValue[i]);
                }
            }

            originalValue = null;

            // Create attribute with null NativeULong array value
            using (ObjectAttribute attr = new ObjectAttribute(CKA.CKA_ALLOWED_MECHANISMS, originalValue))
            {
                Assert.IsTrue(attr.Type == NativeLongUtils.ConvertFromCKA(CKA.CKA_ALLOWED_MECHANISMS));
                Assert.IsTrue(attr.GetValueAsNativeULongList() == originalValue);
            }

            originalValue = new List <NativeULong>();

            // Create attribute with empty NativeULong array value
            using (ObjectAttribute attr = new ObjectAttribute(CKA.CKA_ALLOWED_MECHANISMS, originalValue))
            {
                Assert.IsTrue(attr.Type == NativeLongUtils.ConvertFromCKA(CKA.CKA_ALLOWED_MECHANISMS));
                Assert.IsTrue(attr.GetValueAsNativeULongList() == null);
            }
        }