Beispiel #1
0
        public void DatabaseServiceStoreLoadUri()
        {
            var expectedPseudoObject = new PseudoClass()
            {
                Source1 = new Uri(defaultUriString),
                Source2 = new Uri(defaultUriString2),
                Source3 = new Uri(defaultUriString)
            };

            var dbService = new DatabaseService();
            dbService.CreateTable<PseudoClass>();

            // Insert into database
            dbService.InsertIntoDatabase(expectedPseudoObject);

            // Read from database
            var actualPseudoObjectList = dbService.ReadListFromDatabase<PseudoClass>();
            var actualPseudoObject = actualPseudoObjectList.FirstOrDefault();

            // Check result
            PseudoComparer comparer = new PseudoComparer();
            Assert.AreEqual(1, actualPseudoObjectList.Count);
            Assert.IsNotNull(actualPseudoObject);
            Assert.IsNotNull(actualPseudoObject.Source1);
            Assert.IsNotNull(actualPseudoObject.Source2);
            Assert.IsNotNull(actualPseudoObject.Source3);
            Assert.IsTrue(comparer.Equals(expectedPseudoObject, actualPseudoObject));

            // Delete pseudo object from database
            dbService.DeleteFromDatabase(actualPseudoObject);

            // Read pseudo object from database. No objects should be found
            actualPseudoObjectList = dbService.ReadListFromDatabase<PseudoClass>();
            Assert.AreEqual(0, actualPseudoObjectList.Count);
        }
Beispiel #2
0
        public void ParseTestByType(string input, Type targetType)
        {
            var parsedPseudoClass = PseudoClass.FromString(input);

            Assert.IsType(targetType, parsedPseudoClass);
            Assert.Equal(input, parsedPseudoClass.ToString());
        }
        protected internal override IEnumerable <HtmlNode> FilterCore(IEnumerable <HtmlNode> currentNodes)
        {
            var values = Selector.TrimEnd(')').Split(new[] { '(' }, 2);

            var pseudoClass = PseudoClass.GetPseudoClass(values[0]);
            var value       = values.Length > 1 ? values[1] : null;

            return(pseudoClass.Filter(currentNodes, value));
        }
Beispiel #4
0
 public PseudoClassSelector(Selector selector, PseudoClass pseudoClass)
 {
     this.Selector    = selector;
     this.PseudoClass = pseudoClass;
 }
Beispiel #5
0
 /// <summary>
 /// `this:pseudoClass` selector.
 /// </summary>
 /// <param name="pseudoClass">A pseudo-class.</param>
 /// <returns>`this:pseudoClass` selector.</returns>
 public Selector this[PseudoClass pseudoClass] {
     get { return(new PseudoClassSelector(this, pseudoClass)); }
 }
Beispiel #6
0
 /// <summary>
 /// `this:pseudoClass` selector.
 /// </summary>
 /// <param name="pseudoClass">A pseudo-class.</param>
 /// <returns>`this:pseudoClass` selector.</returns>
 public Selector WithPseudoClass(PseudoClass pseudoClass)
 {
     return(new PseudoClassSelector(this, pseudoClass));
 }
 public PseudoClassSelector(string pseudoClass)
 {
     PseudoClassText = pseudoClass ?? throw new ArgumentNullException(nameof(pseudoClass));
     PseudoClass     = PseudoClass.FromString(pseudoClass);
 }