public void TestValidAgentType(string v, ParsedEntityType expected)
        {
            var          ap            = new EntityTypeAttributeParser();
            const string attIdentifier = "type";

            var e = ap.ParsedAttribute(attIdentifier,
                                       null,
                                       new NParsedAttributeAtomic(new IdentifierExpression(v)));

            Assert.IsInstanceOf(typeof(ParsedEntityTypeAttribute), e);
            var at = (ParsedEntityTypeAttribute)e;

            Assert.AreEqual(expected, at.Value);
        }
        public void TestInvalidAtomicValue()
        {
            var          ap            = new EntityTypeAttributeParser();
            const string attIdentifier = "type";

            var e = Assert.Catch(() => {
                ap.ParsedAttribute(attIdentifier,
                                   null,
                                   new NParsedAttributeAtomic(new NameExpression("")));
            });

            Assert.IsInstanceOf(typeof(InvalidAttributeValueException), e);
            StringAssert.AreEqualIgnoringCase(
                string.Format(InvalidAttributeValueException.IDENTIFIER, attIdentifier),
                e.Message
                );
        }
        public void TestNullParameter()
        {
            var          ap            = new EntityTypeAttributeParser();
            const string attIdentifier = "type";

            var e = Assert.Catch(() => {
                ap.ParsedAttribute(attIdentifier,
                                   new NParsedAttributeAtomic(new ParsedFloat()),
                                   new NParsedAttributeAtomic(new IdentifierExpression("software")));
            });

            Assert.IsInstanceOf(typeof(InvalidParameterAttributeException), e);
            StringAssert.AreEqualIgnoringCase(
                string.Format(InvalidParameterAttributeException.NO_PARAM, attIdentifier),
                e.Message
                );
        }
        public void TestNotAtomicValue(NParsedAttributeValue v)
        {
            var          ap            = new EntityTypeAttributeParser();
            const string attIdentifier = "type";

            var e = Assert.Catch(() => {
                ap.ParsedAttribute(attIdentifier,
                                   null,
                                   v);
            });

            Assert.IsInstanceOf(typeof(InvalidAttributeValueException), e);
            StringAssert.AreEqualIgnoringCase(
                string.Format(InvalidAttributeValueException.ATOMIC_ONLY, attIdentifier),
                e.Message
                );
        }