Пример #1
0
 /// <summary>
 /// Test for empty object
 /// </summary>
 /// <returns>bool</returns>
 public bool IsEmpty()
 {
     return(IfcProductFilter.IsEmpty() && IfcTypeObjectFilter.IsEmpty() && IfcAssemblyFilter.IsEmpty() &&
            ZoneFilter.IsEmpty() && TypeFilter.IsEmpty() && SpaceFilter.IsEmpty() &&
            FloorFilter.IsEmpty() && FacilityFilter.IsEmpty() && SpareFilter.IsEmpty() &&
            ComponentFilter.IsEmpty() && CommonFilter.IsEmpty());
 }
Пример #2
0
        public async Task TestGetZonesAsync()
        {
            var displayOptions = new DisplayOptions {
                Page = 1, PerPage = 20, Order = OrderType.Asc
            };
            var zoneFilter = new ZoneFilter {
                Match = false, Status = ZoneStatus.Active, Name = "tothnet.hu"
            };

            _wireMockServer
            .Given(Request.Create()
                   .WithPath($"/{ZoneEndpoints.Base}/")
                   .WithParam(Filtering.Page)
                   .WithParam(Filtering.PerPage)
                   .WithParam(Filtering.Order)
                   .WithParam(Filtering.Name)
                   .WithParam(Filtering.Status)
                   .WithParam(Filtering.Match)
                   .UsingGet())
            .RespondWith(Response.Create().WithStatusCode(200)
                         .WithBody(WireMockResponseHelper.CreateTestResponse(ZoneTestData.Zones)));

            using var client = new CloudFlareClient(WireMockConnection.ApiKeyAuthentication, _connectionInfo);

            var zones = await client.Zones.GetAsync(zoneFilter, displayOptions);

            zones.Result.Should().BeEquivalentTo(ZoneTestData.Zones);
        }
Пример #3
0
        public void CanFilterTwoItemsWithStaticMethod()
        {
            ItemList items = new ItemList();

            items.Add(CreateItem <FirstItem>(1, "Zone1"));
            items.Add(CreateItem <FirstItem>(2, "Zone1"));
            items.Add(CreateItem <FirstItem>(3, "Zone2"));
            items.Add(CreateItem <FirstItem>(4, "Zone2"));
            ZoneFilter.Filter(items, "Zone1");
            Assert.AreEqual(2, items.Count);
        }
Пример #4
0
        public void CanFilterTwoItemsWithClassInstance()
        {
            ItemList items = new ItemList();

            items.Add(CreateItem <FirstItem>(1, "Zone1"));
            items.Add(CreateItem <FirstItem>(2, "Zone1"));
            items.Add(CreateItem <FirstItem>(3, "Zone2"));
            items.Add(CreateItem <FirstItem>(4, "Zone2"));
            ZoneFilter filter = new ZoneFilter("Zone1");

            filter.Filter(items);
            Assert.AreEqual(2, items.Count);
        }
Пример #5
0
        /// <summary>
        /// Test Property Set Names against sheets
        /// </summary>
        /// <param name="testStr">Name string to test</param>
        /// <param name="parent">Parent object</param>
        /// <returns>bool</returns>
        public bool PSetNameFilterOnSheetName(string testStr, CobieObject parent = null)
        {
            bool result = false;

            if (!string.IsNullOrEmpty(testStr))
            {
                result = CommonFilter.PSetNameFilter(testStr);
                if (!result)
                {
                    if (parent == null)
                    {
                        result = false;
                    }
                    else if ((parent is Zone) && (ZoneFilter != null))
                    {
                        result = ZoneFilter.PSetNameFilter(testStr);
                    }
                    else if ((parent is AssetType) && (TypeFilter != null))
                    {
                        result = TypeFilter.PSetNameFilter(testStr);
                    }
                    else if ((parent is Space) && (SpaceFilter != null))
                    {
                        result = SpaceFilter.PSetNameFilter(testStr);
                    }
                    else if ((parent is Floor) && (FloorFilter != null))
                    {
                        result = FloorFilter.PSetNameFilter(testStr);
                    }
                    else if ((parent is Facility) && (FacilityFilter != null))
                    {
                        result = FacilityFilter.PSetNameFilter(testStr);
                    }
                    else if ((parent is Spare) && (SpareFilter != null))
                    {
                        result = SpareFilter.PSetNameFilter(testStr);
                    }
                    else if ((parent is Asset) && (ComponentFilter != null))
                    {
                        result = ComponentFilter.PSetNameFilter(testStr);
                    }
                    else
                    {
                        result = false;
                    }
                }
            }
            //don't flip property sets as this excludes all the attributes, so we do not see attribute name exclusions as all property sets get excluded
            //return FlipResult ? !result : result;
            return(result);
        }
Пример #6
0
        //TODO: IfcProperty filterining on IfcObjects

        /// <summary>
        /// Test property Names against sheets
        /// </summary>
        /// <param name="testStr">Name string to test</param>
        /// <param name="parent">Parent object</param>
        /// <returns>bool</returns>
        public bool NameFilterOnParent(string testStr, CobieObject parent = null)
        {
            var result = false;

            if (!string.IsNullOrEmpty(testStr))
            {
                result = CommonFilter.NameFilter(testStr);
                if (!result)
                {
                    if (parent == null)
                    {
                        result = false;
                    }
                    else if ((parent is Zone) && (ZoneFilter != null))
                    {
                        result = ZoneFilter.NameFilter(testStr);
                    }
                    else if ((parent is AssetType) && (TypeFilter != null))
                    {
                        result = TypeFilter.NameFilter(testStr);
                    }
                    else if ((parent is Space) && (SpaceFilter != null))
                    {
                        result = SpaceFilter.NameFilter(testStr);
                    }
                    else if ((parent is Floor) && (FloorFilter != null))
                    {
                        result = FloorFilter.NameFilter(testStr);
                    }
                    else if ((parent is Facility) && (FacilityFilter != null))
                    {
                        result = FacilityFilter.NameFilter(testStr);
                    }
                    else if ((parent is Spare) && (SpareFilter != null))
                    {
                        result = SpareFilter.NameFilter(testStr);
                    }
                    else if ((parent is Asset) && (ComponentFilter != null))
                    {
                        result = ComponentFilter.NameFilter(testStr);
                    }
                    else
                    {
                        result = false;
                    }
                }
            }
            return(FlipResult ? !result : result);
        }
Пример #7
0
        /// <summary>
        /// Merge OutPutFilters
        /// </summary>
        /// <param name="mergeFilter">OutPutFilters</param>
        public void Merge(OutPutFilters mergeFilter)
        {
            IfcProductFilter.MergeInc(mergeFilter.IfcProductFilter);
            IfcTypeObjectFilter.MergeInc(mergeFilter.IfcTypeObjectFilter);
            IfcAssemblyFilter.MergeInc(mergeFilter.IfcAssemblyFilter);

            ZoneFilter.Merge(mergeFilter.ZoneFilter);
            TypeFilter.Merge(mergeFilter.TypeFilter);
            SpaceFilter.Merge(mergeFilter.SpaceFilter);
            FloorFilter.Merge(mergeFilter.FloorFilter);
            FacilityFilter.Merge(mergeFilter.FacilityFilter);
            SpareFilter.Merge(mergeFilter.SpareFilter);
            ComponentFilter.Merge(mergeFilter.ComponentFilter);
            CommonFilter.Merge(mergeFilter.CommonFilter);
        }
Пример #8
0
        /// <summary>
        /// Clear OutPutFilters
        /// </summary>
        public void Clear()
        {
            AppliedRoles = 0;

            IfcProductFilter.Clear();
            IfcTypeObjectFilter.Clear();
            IfcAssemblyFilter.Clear();

            ZoneFilter.Clear();
            TypeFilter.Clear();
            SpaceFilter.Clear();
            FloorFilter.Clear();
            FacilityFilter.Clear();
            SpareFilter.Clear();
            ComponentFilter.Clear();
            CommonFilter.Clear();
        }
Пример #9
0
        /// <summary>
        /// Copy the OutPutFilters
        /// </summary>
        /// <param name="copyFilter">OutPutFilters to copy </param>
        public void Copy(OutPutFilters copyFilter)
        {
            AppliedRoles = copyFilter.AppliedRoles;

            IfcProductFilter.Copy(copyFilter.IfcProductFilter);
            IfcTypeObjectFilter.Copy(copyFilter.IfcTypeObjectFilter);
            IfcAssemblyFilter.Copy(copyFilter.IfcAssemblyFilter);

            ZoneFilter.Copy(copyFilter.ZoneFilter);
            TypeFilter.Copy(copyFilter.TypeFilter);
            SpaceFilter.Copy(copyFilter.SpaceFilter);
            FloorFilter.Copy(copyFilter.FloorFilter);
            FacilityFilter.Copy(copyFilter.FacilityFilter);
            SpareFilter.Copy(copyFilter.SpareFilter);
            ComponentFilter.Copy(copyFilter.ComponentFilter);
            CommonFilter.Copy(copyFilter.CommonFilter);
        }
Пример #10
0
        /// <inheritdoc />
        public async Task <CloudFlareResult <IReadOnlyList <Zone> > > GetAsync(ZoneFilter filter = null, DisplayOptions displayOptions = null, CancellationToken cancellationToken = default)
        {
            var builder = new ParameterBuilderHelper()
                          .InsertValue(Filtering.AccountId, filter?.AccountId)
                          .InsertValue(Filtering.AccountName, filter?.AccountName)
                          .InsertValue(Filtering.Name, filter?.Name)
                          .InsertValue(Filtering.Status, filter?.Status)
                          .InsertValue(Filtering.Match, filter?.Match)
                          .InsertValue(Filtering.Page, displayOptions?.Page)
                          .InsertValue(Filtering.PerPage, displayOptions?.PerPage)
                          .InsertValue(Filtering.Order, displayOptions?.Order);

            var requestUri = $"{ZoneEndpoints.Base}";

            if (builder.ParameterCollection.HasKeys())
            {
                requestUri = $"{requestUri}/?{builder.ParameterCollection}";
            }

            return(await Connection.GetAsync <IReadOnlyList <Zone> >(requestUri, cancellationToken).ConfigureAwait(false));
        }