コード例 #1
0
ファイル: TestKeyValueObject.cs プロジェクト: tositeru/hinode
        public void KeyFlagsEnumValuePasses()
        {
            var keyValue = new KeyEnumObject("key", TestFlags.Blue | TestFlags.Green, typeof(TestFlags));

            Assert.AreEqual("key", keyValue.Key);
            var e = TestFlags.Blue | TestFlags.Green;

            Assert.AreEqual(e, keyValue.Value);

            Assert.AreEqual((int)e, keyValue.EnumIndex);
            Assert.AreEqual(typeof(TestFlags), keyValue.HasType);
            Assert.IsTrue(keyValue.IsFlags);
            Assert.IsTrue(keyValue.IsValid);
            Assert.IsTrue(keyValue.IsValidValue((int)(TestFlags.Blue | TestFlags.Green)));

            var noneFlag = KeyEnumObject.Create("none", (TestFlags)0);

            Assert.AreEqual(0, noneFlag.EnumIndex);
            Assert.AreEqual((TestFlags)0, noneFlag.Value);
            Assert.IsTrue(noneFlag.IsValid);
            Assert.IsTrue(noneFlag.IsValidValue(0));

            var allFlag = KeyEnumObject.Create("none", (TestFlags)(-1));

            Assert.AreEqual(-1, allFlag.EnumIndex);
            Assert.AreEqual((TestFlags)(-1), allFlag.Value);
            Assert.IsTrue(allFlag.IsValid);
            Assert.IsTrue(allFlag.IsValidValue(-1));
        }
コード例 #2
0
ファイル: TestKeyValueObject.cs プロジェクト: tositeru/hinode
 public void KeyFlagsEnumValueFailed()
 {
     //不正な値で初期化された時の挙動チェック
     Assert.Throws <UnityEngine.Assertions.AssertionException>(() =>
     {
         var _keyValue = new KeyEnumObject("key", (TestFlags)100, typeof(TestFlags));
     });
 }
コード例 #3
0
ファイル: TestKeyValueObject.cs プロジェクト: tositeru/hinode
        public void KeyEnumValuePasses()
        {
            var keyValue = new KeyEnumObject("key", TestEnum.Apple, typeof(TestEnum));

            Assert.AreEqual("key", keyValue.Key);
            Assert.AreEqual(TestEnum.Apple, keyValue.Value);

            Assert.AreEqual(0, keyValue.EnumIndex);
            Assert.AreEqual(typeof(TestEnum), keyValue.HasType);
            Assert.IsFalse(keyValue.IsFlags);
            Assert.IsTrue(keyValue.IsValid);
            Assert.IsTrue(keyValue.IsValidValue((int)TestEnum.Apple));
        }
コード例 #4
0
ファイル: TestKeyValueObject.cs プロジェクト: tositeru/hinode
        public void KeyEnumValueFailed()
        {
            Assert.Throws <UnityEngine.Assertions.AssertionException>(() =>
            {
                var keyValue = KeyEnumObject.Create("key", (TestEnum)100);
            });

            //何らかの操作の結果内部の値が不正なものになった時のテスト
            var target = ScriptableObject.CreateInstance <TestFailedEnum>();

            target.keyValue = KeyEnumObject.Create("key", TestEnum.Banana);
            var SO   = new SerializedObject(target);
            var prop = SO.FindProperty("keyValue").FindPropertyRelative("_value");

            prop.intValue = -100;
            SO.ApplyModifiedProperties();

            Assert.IsFalse(target.keyValue.IsValid);
            Assert.IsFalse(target.keyValue.IsValidValue(100));
            SO.Dispose();
        }