LCOV - code coverage report
Current view: top level - boolean_selector-2.1.0/lib/src - intersection_selector.dart (source / functions) Hit Total Coverage
Test: lcov.info Lines: 0 18 0.0 %
Date: 2021-11-28 14:37:50 Functions: 0 0 -

          Line data    Source code
       1             : // Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
       2             : // for details. All rights reserved. Use of this source code is governed by a
       3             : // BSD-style license that can be found in the LICENSE file.
       4             : 
       5             : import '../boolean_selector.dart';
       6             : import 'union_selector.dart';
       7             : 
       8             : /// A selector that matches inputs that both of its sub-selectors match.
       9             : class IntersectionSelector implements BooleanSelector {
      10             :   final BooleanSelector _selector1;
      11             :   final BooleanSelector _selector2;
      12             : 
      13             :   @override
      14             :   Iterable<String> get variables sync* {
      15             :     yield* _selector1.variables;
      16             :     yield* _selector2.variables;
      17             :   }
      18             : 
      19           0 :   IntersectionSelector(this._selector1, this._selector2);
      20             : 
      21           0 :   @override
      22             :   bool evaluate(semantics) =>
      23           0 :       _selector1.evaluate(semantics) && _selector2.evaluate(semantics);
      24             : 
      25           0 :   @override
      26             :   BooleanSelector intersection(BooleanSelector other) =>
      27           0 :       IntersectionSelector(this, other);
      28             : 
      29           0 :   @override
      30           0 :   BooleanSelector union(BooleanSelector other) => UnionSelector(this, other);
      31             : 
      32           0 :   @override
      33             :   void validate(bool Function(String variable) isDefined) {
      34           0 :     _selector1.validate(isDefined);
      35           0 :     _selector2.validate(isDefined);
      36             :   }
      37             : 
      38           0 :   @override
      39           0 :   String toString() => '($_selector1) && ($_selector2)';
      40             : 
      41           0 :   @override
      42             :   bool operator ==(other) =>
      43           0 :       other is IntersectionSelector &&
      44           0 :       _selector1 == other._selector1 &&
      45           0 :       _selector2 == other._selector2;
      46             : 
      47           0 :   @override
      48           0 :   int get hashCode => _selector1.hashCode ^ _selector2.hashCode;
      49             : }

Generated by: LCOV version 1.14