示例#1
0
        private static void CheckSettingValue(EnumParameter p, Guid initialValue, Guid setValue, IEnumeration enumeration)
        {
            Assert.That(p.Value, Is.EqualTo(initialValue));
            Assert.That(p.SetValueAction(initialValue), Is.Null);
            var action = p.SetValueAction(setValue);

            Assert.That(action, Is.Not.Null);
            CheckNotCorrupt(p, initialValue, enumeration);
            action.Value.Redo();
            CheckNotCorrupt(p, setValue, enumeration);
            action.Value.Undo();
            CheckNotCorrupt(p, initialValue, enumeration);

            p.TryDeserialiseValue("asd");
            CheckCorrupt(p, "asd");

            //Test what happens if we undo back to an invalid state
            var actions = p.SetValueAction(setValue);

            actions.Value.Redo();
            CheckNotCorrupt(p, setValue, enumeration);
            actions.Value.Undo();
            CheckCorrupt(p, "asd");

            p.TryDeserialiseValue(setValue.ToString());
            CheckNotCorrupt(p, setValue, enumeration);
        }
示例#2
0
        public static void TestNullEnumStringDefault()
        {
            string         name = "enumname2";
            Id <Parameter> id   = Id <Parameter> .Parse("6DB8D873-9DA3-412F-9164-322AFDE2895E");

            EnumParameter p = new EnumParameter(name, id, MockEnumeration2.Instance, null);

            var def = MockEnumeration2.Instance.DefaultValue.Transformed(b => b, a => { throw new InvalidOperationException(); });

            CheckCorrupt(p, def);

            Guid initialValue = MockEnumeration2.Instance.Options.ElementAt(0);

            p.SetValueAction(initialValue).Value.Redo();
            var setValue = MockEnumeration2.Instance.Options.ElementAt(1);

            CheckSettingValue(p, initialValue, setValue, MockEnumeration2.Instance);
        }
示例#3
0
        public static void TestStringDefault()
        {
            string         name = "enumname2";
            Id <Parameter> id   = Id <Parameter> .Parse("6DB8D873-9DA3-412F-9164-322AFDE2895E");

            EnumParameter p = new EnumParameter(name, id, MockEnumeration2.Instance, "AStringDefault");

            Assert.That(p.Id, Is.EqualTo(id));
            Assert.That(p.Name, Is.EqualTo(name));
            Assert.That(p.TypeId, Is.EqualTo(MockEnumeration2.Instance.TypeId));
            Assert.That(p.Options, Is.EquivalentTo(MockEnumeration2.Instance.Options));

            CheckCorrupt(p, "AStringDefault");

            var initialValue = MockEnumeration2.Instance.Options.ElementAt(0);

            p.SetValueAction(initialValue).Value.Redo();
            var setValue = MockEnumeration2.Instance.Options.ElementAt(1);

            CheckSettingValue(p, initialValue, setValue, MockEnumeration2.Instance);
        }