Пример #1
0
        public void CreateSpeciesFacts()
        {
            List <int> speciesFactIds = new List <int> {
                1
            };
            WebSpeciesFact speciesFact = SpeciesFactManager.GetSpeciesFactsByIds(GetContext(), speciesFactIds)[0], newSpeciesFact;
            DataTable      speciesFactsTable;
            int            newSpeciesFactId;

            speciesFact.FactorId               = 10;
            speciesFact.FieldValue1            = 10;
            speciesFact.IsFieldValue1Specified = true;
            speciesFact.IndividualCategoryId   = 2;
            speciesFact.TaxonId = 209210;
            speciesFactsTable   = SpeciesFactManager.GetSpeciesFactCreateTable(GetContext(),
                                                                               new List <WebSpeciesFact> {
                speciesFact
            },
                                                                               DateTime.Now,
                                                                               string.Empty);
            newSpeciesFactId = (int)speciesFactsTable.Rows[0]["idnr"];
            GetDatabase(true).CreateSpeciesFacts(speciesFactsTable);
            newSpeciesFact = SpeciesFactManager.GetSpeciesFactsByIds(GetContext(), new List <int> {
                newSpeciesFactId
            })[0];
            Assert.AreEqual(newSpeciesFact.Id, newSpeciesFactId);
        }
        public void UpdateSpeciesFacts()
        {
            int currentMaxSpeciesFactId = GetContext().GetTaxonAttributeDatabase().GetMaxSpeciesFactId();
            List <WebSpeciesFact> inSpeciesFacts, outSpeciesFacts;

            UseTransaction = true;

            // Create species facts.
            inSpeciesFacts = new List <WebSpeciesFact>
            {
                new WebSpeciesFact
                {
                    FactorId             = 34,
                    HostId               = 23,
                    IndividualCategoryId = 3,
                    PeriodId             = 2,
                    TaxonId              = 345
                },
                new WebSpeciesFact
                {
                    FactorId             = 57,
                    HostId               = 34,
                    IndividualCategoryId = 1,
                    PeriodId             = 3,
                    TaxonId              = 678
                }
            };
            SpeciesFactManager.CreateSpeciesFacts(GetContext(), inSpeciesFacts);
            outSpeciesFacts = SpeciesFactManager.GetSpeciesFactsByIds(GetContext(),
                                                                      new List <int>
            {
                GetContext().GetTaxonAttributeDatabase().GetMaxSpeciesFactId(),
                GetContext().GetTaxonAttributeDatabase().GetMaxSpeciesFactId() - 1
            });
            Assert.IsNotNull(outSpeciesFacts);
            Assert.IsTrue(outSpeciesFacts.IsNotEmpty());
            Assert.AreEqual(outSpeciesFacts.Count, inSpeciesFacts.Count);
            foreach (WebSpeciesFact createdSpeciesFact in outSpeciesFacts)
            {
                Assert.IsTrue(createdSpeciesFact.Id > currentMaxSpeciesFactId);
            }

            // Update species facts.
            List <int> speciesFactIds = outSpeciesFacts.Select(speciesFact => speciesFact.Id).ToList();

            inSpeciesFacts = SpeciesFactManager.GetSpeciesFactsByIds(GetContext(), speciesFactIds);
            SpeciesFactManager.UpdateSpeciesFacts(GetContext(), inSpeciesFacts);
            outSpeciesFacts = SpeciesFactManager.GetSpeciesFactsByIds(GetContext(), speciesFactIds);
            foreach (WebSpeciesFact speciesFact in outSpeciesFacts)
            {
                Assert.AreEqual(speciesFact.ModifiedBy, "TestFirstName TestLastName");
            }

            // Delete species facts.
            SpeciesFactManager.DeleteSpeciesFacts(GetContext(), outSpeciesFacts);
        }
        public void GetSpeciesFactsByIds()
        {
            List <WebSpeciesFact> speciesFacts;
            List <int>            speciesFactIds = new List <int> {
                1, 2, 3, 4, 5, 6, 7, 8, 9, 10
            };

            speciesFacts = SpeciesFactManager.GetSpeciesFactsByIds(GetContext(), speciesFactIds);
            Assert.IsTrue(speciesFacts.IsNotEmpty());
            Assert.AreEqual(speciesFacts.Count, speciesFactIds.Count);
        }
        public void GetSpeciesFactQualities()
        {
            List <WebSpeciesFactQuality> speciesFactQualities;

            UseTransaction       = true;
            speciesFactQualities = SpeciesFactManager.GetSpeciesFactQualities(GetContext());
            Assert.IsTrue(speciesFactQualities.IsNotEmpty());

            UseTransaction       = false;
            speciesFactQualities = SpeciesFactManager.GetSpeciesFactQualities(GetContext());
            Assert.IsTrue(speciesFactQualities.IsNotEmpty());
        }
Пример #5
0
        public void GetSpeciesFactsBySpeciesFactIdentifiers()
        {
            DataTable speciesFactIdentifiers = SpeciesFactManager.GetSpeciesFactIdentifiersTable();

            speciesFactIdentifiers.Rows.Add(1, 14, 0);
            speciesFactIdentifiers.Rows.Add(2, 25, 0);
            speciesFactIdentifiers.Rows.Add(3, 60, 0);

            using (DataReader dataReader = GetDatabase(true).GetSpeciesFactsByIdentifiers(speciesFactIdentifiers))
            {
                Assert.IsTrue(dataReader.Read());
            }
        }
Пример #6
0
        public void DeleteSpeciesFacts()
        {
            List <int> speciesFactIds = new List <int>
            {
                GetDatabase(true).GetMaxSpeciesFactId(),
                GetDatabase().GetMaxSpeciesFactId() - 1
            };

            GetDatabase().DeleteSpeciesFactsByIds(speciesFactIds);

            List <WebSpeciesFact> deletedSpeciesFact = SpeciesFactManager.GetSpeciesFactsByIds(GetContext(), speciesFactIds);

            Assert.IsTrue(deletedSpeciesFact.IsEmpty());
        }
        public void GetSpeciesFactsByIdsTtooManyError()
        {
            List <WebSpeciesFact> speciesFacts;
            List <int>            speciesFactIds = new List <int>();

            for (int speciesFactIndex = 0; speciesFactIndex < TaxonAttributeService.Settings.Default.MaxSpeciesFacts + 2; ++speciesFactIndex)
            {
                speciesFactIds.Add(speciesFactIndex);
            }

            speciesFacts = SpeciesFactManager.GetSpeciesFactsByIds(GetContext(), speciesFactIds);
            Assert.IsNotNull(speciesFacts);
            Assert.AreEqual(speciesFacts.Count, speciesFactIds.Count);
        }
Пример #8
0
        public void UpdateSpeciesFacts()
        {
            List <int> speciesFactIds = new List <int> {
                1
            };
            WebSpeciesFact speciesFact = SpeciesFactManager.GetSpeciesFactsByIds(GetContext(), speciesFactIds)[0], updatedSpeciesFact;
            DataTable      speciesFactTable = SpeciesFactManager.GetSpeciesFactUpdateTable(GetContext(),
                                                                                           new List <WebSpeciesFact> {
                speciesFact
            });

            GetDatabase(true).UpdateSpeciesFacts(speciesFactTable);
            updatedSpeciesFact = SpeciesFactManager.GetSpeciesFactsByIds(GetContext(), speciesFactIds)[0];
            Assert.AreEqual(updatedSpeciesFact.ModifiedBy, "TestFirstName TestLastName");
        }
        public void GetSpeciesFactsBySearchCriteriaFactFieldSearchCriteria()
        {
            // Test String species fact field condition in combination with Enum String.

            List <WebSpeciesFact>        speciesFacts1;
            WebSpeciesFactSearchCriteria searchCriteria;

            searchCriteria           = new WebSpeciesFactSearchCriteria();
            searchCriteria.FactorIds = new List <Int32>();
            searchCriteria.FactorIds.Add(1001);
            searchCriteria.FieldLogicalOperator = LogicalOperator.Or;

            // Test List of Enums as String species fact field condition.
            searchCriteria.FieldSearchCriteria = new List <WebSpeciesFactFieldSearchCriteria>();
            searchCriteria.FieldSearchCriteria.Add(new WebSpeciesFactFieldSearchCriteria());
            searchCriteria.FieldSearchCriteria[0].FactorField = GetFactorField(52, "tal1");
            Assert.IsTrue(searchCriteria.FieldSearchCriteria[0].FactorField.IsEnumField, "Choose other factor field that has enum fields. I.e. tal1.");
            searchCriteria.FieldSearchCriteria[0].IsEnumAsString = false;
            searchCriteria.FieldSearchCriteria[0].Operator       = CompareOperator.Equal;
            searchCriteria.FieldSearchCriteria[0].Values         = new List <String>();
            searchCriteria.FieldSearchCriteria[0].Values.Add("1");
            searchCriteria.FieldSearchCriteria[0].Values.Add("2");

            // Test String species fact field condition.
            searchCriteria.FieldSearchCriteria.Add(new WebSpeciesFactFieldSearchCriteria());
            searchCriteria.FieldSearchCriteria[1].FactorField = GetFactorField(52, "text2");
            searchCriteria.FieldSearchCriteria[1].Operator    = CompareOperator.Like;
            searchCriteria.FieldSearchCriteria[1].Values      = new List <String>();
            searchCriteria.FieldSearchCriteria[1].Values.Add("bedömd för adulter");

            // Test Double species fact field condition.
            searchCriteria.FieldSearchCriteria.Add(new WebSpeciesFactFieldSearchCriteria());
            searchCriteria.FieldSearchCriteria[2].FactorField = GetFactorField(52, "tal2");
            searchCriteria.FieldSearchCriteria[2].Operator    = CompareOperator.GreaterOrEqual;
            searchCriteria.FieldSearchCriteria[2].Values      = new List <String>();
            searchCriteria.FieldSearchCriteria[2].Values.Add("11");

            // Test Double species fact field condition.
            searchCriteria.FieldSearchCriteria.Add(new WebSpeciesFactFieldSearchCriteria());
            searchCriteria.FieldSearchCriteria[3].FactorField = GetFactorField(52, "tal3");
            searchCriteria.FieldSearchCriteria[3].Operator    = CompareOperator.LessOrEqual;
            searchCriteria.FieldSearchCriteria[3].Values      = new List <String>();
            searchCriteria.FieldSearchCriteria[3].Values.Add("22");

            speciesFacts1 = SpeciesFactManager.GetSpeciesFactsBySearchCriteria(GetContext(), searchCriteria);
            Assert.IsTrue(speciesFacts1.IsNotEmpty());
        }
        public void GetTaxaBySearchCriteriaFactFieldSearchCriteria()
        {
            List <WebTaxon> taxa;
            WebSpeciesFactSearchCriteria searchCriteria;

            searchCriteria           = new WebSpeciesFactSearchCriteria();
            searchCriteria.FactorIds = new List <Int32>();
            searchCriteria.FactorIds.Add(1001);
            searchCriteria.FieldLogicalOperator = LogicalOperator.Or;
            searchCriteria.FieldSearchCriteria  = new List <WebSpeciesFactFieldSearchCriteria>();

            // Test Double species fact field condition.
            searchCriteria.FieldSearchCriteria.Add(new WebSpeciesFactFieldSearchCriteria());
            searchCriteria.FieldSearchCriteria[0].FactorField = GetFactorField(52, "tal2");
            searchCriteria.FieldSearchCriteria[0].Operator    = CompareOperator.GreaterOrEqual;
            searchCriteria.FieldSearchCriteria[0].Values      = new List <String>();
            searchCriteria.FieldSearchCriteria[0].Values.Add("11");

            taxa = SpeciesFactManager.GetTaxaBySearchCriteria(GetContext(), searchCriteria);
            Assert.IsTrue(taxa.Count > 0);

            // Test String species fact field condition.
            searchCriteria           = new WebSpeciesFactSearchCriteria();
            searchCriteria.FactorIds = new List <Int32>();
            searchCriteria.FactorIds.Add((Int32)(FactorId.RedlistCategory));
            searchCriteria.FieldSearchCriteria = new List <WebSpeciesFactFieldSearchCriteria>();
            searchCriteria.FieldSearchCriteria.Add(new WebSpeciesFactFieldSearchCriteria());
            searchCriteria.FieldSearchCriteria[0].FactorField = GetFactorField(30, "text1");
            searchCriteria.FieldSearchCriteria[0].Operator    = CompareOperator.Equal;
            searchCriteria.FieldSearchCriteria[0].Values      = new List <String>();
            searchCriteria.FieldSearchCriteria[0].Values.Add("VU");
            taxa = SpeciesFactManager.GetTaxaBySearchCriteria(GetContext(), searchCriteria);
            Assert.IsTrue(taxa.IsNotEmpty());

            searchCriteria.FieldSearchCriteria[0].Operator = CompareOperator.Like;
            searchCriteria.FieldSearchCriteria[0].Values   = new List <String>();
            searchCriteria.FieldSearchCriteria[0].Values.Add("%VU%");
            taxa = SpeciesFactManager.GetTaxaBySearchCriteria(GetContext(), searchCriteria);
            Assert.IsTrue(taxa.IsNotEmpty());

            searchCriteria.FieldSearchCriteria[0].Operator = CompareOperator.Equal;
            searchCriteria.FieldSearchCriteria[0].Values   = new List <String>();
            searchCriteria.FieldSearchCriteria[0].Values.Add("V'U");
            taxa = SpeciesFactManager.GetTaxaBySearchCriteria(GetContext(), searchCriteria);
            Assert.IsTrue(taxa.IsEmpty());
        }
        public void GetSpeciesFactsByIdentifiers()
        {
            List <WebSpeciesFact> inSpeciesFacts, outSpeciesFacts;
            List <Int32>          speciesFactIds = new List <Int32> {
                1, 2, 3, 4, 5, 6, 7, 8, 9, 10
            };
            WebSpeciesFact speciesFact;

            UseTransaction  = true;
            inSpeciesFacts  = SpeciesFactManager.GetSpeciesFactsByIds(GetContext(), speciesFactIds);
            outSpeciesFacts = SpeciesFactManager.GetSpeciesFactsByIdentifiers(GetContext(), inSpeciesFacts);
            Assert.AreEqual(inSpeciesFacts.Count, outSpeciesFacts.Count);

            UseTransaction  = false;
            inSpeciesFacts  = SpeciesFactManager.GetSpeciesFactsByIds(GetContext(), speciesFactIds);
            outSpeciesFacts = SpeciesFactManager.GetSpeciesFactsByIdentifiers(GetContext(), inSpeciesFacts);
            Assert.AreEqual(inSpeciesFacts.Count, outSpeciesFacts.Count);

            speciesFact                        = new WebSpeciesFact();
            speciesFact.FactorId               = 655;
            speciesFact.FieldValue1            = 0;
            speciesFact.FieldValue2            = 0;
            speciesFact.FieldValue3            = 0;
            speciesFact.FieldValue4            = "A";
            speciesFact.FieldValue5            = null;
            speciesFact.HostId                 = -1;
            speciesFact.Id                     = 2167795;
            speciesFact.IndividualCategoryId   = 0;
            speciesFact.IsFieldValue1Specified = false;
            speciesFact.IsFieldValue2Specified = false;
            speciesFact.IsFieldValue3Specified = false;
            speciesFact.IsFieldValue4Specified = true;
            speciesFact.IsFieldValue5Specified = false;
            speciesFact.IsHostSpecified        = false;
            speciesFact.IsPeriodSpecified      = true;
            speciesFact.ModifiedBy             = "";
            speciesFact.ModifiedDate           = DateTime.Now;
            speciesFact.PeriodId               = 4;
            speciesFact.QualityId              = 8;
            speciesFact.ReferenceId            = 524;
            speciesFact.TaxonId                = 700;
            inSpeciesFacts                     = new List <WebSpeciesFact>();
            inSpeciesFacts.Add(speciesFact);
            outSpeciesFacts = SpeciesFactManager.GetSpeciesFactsByIdentifiers(GetContext(), inSpeciesFacts);
            Assert.AreEqual(inSpeciesFacts.Count, outSpeciesFacts.Count);
        }
        public void CreateSpeciesFacts()
        {
            Int32 currentMaxSpeciesFactId = GetContext().GetTaxonAttributeDatabase().GetMaxSpeciesFactId();
            List <WebSpeciesFact> inSpeciesFacts, outSpeciesFacts;

            UseTransaction = true;

            // Create species facts.
            inSpeciesFacts = new List <WebSpeciesFact>
            {
                new WebSpeciesFact
                {
                    FactorId               = 34,
                    FieldValue5            = "Hej ' hopp",
                    HostId                 = 23,
                    IndividualCategoryId   = 3,
                    IsFieldValue5Specified = true,
                    PeriodId               = 2,
                    TaxonId                = 345
                },
                new WebSpeciesFact
                {
                    FactorId             = 57,
                    HostId               = 34,
                    IndividualCategoryId = 1,
                    PeriodId             = 3,
                    TaxonId              = 678
                }
            };
            SpeciesFactManager.CreateSpeciesFacts(GetContext(), inSpeciesFacts);
            outSpeciesFacts = SpeciesFactManager.GetSpeciesFactsByIds(GetContext(),
                                                                      new List <int>
            {
                GetContext().GetTaxonAttributeDatabase().GetMaxSpeciesFactId(),
                GetContext().GetTaxonAttributeDatabase().GetMaxSpeciesFactId() - 1
            });
            Assert.IsNotNull(outSpeciesFacts);
            Assert.IsTrue(outSpeciesFacts.IsNotEmpty());
            Assert.AreEqual(outSpeciesFacts.Count, inSpeciesFacts.Count);
            foreach (WebSpeciesFact createdSpeciesFact in outSpeciesFacts)
            {
                Assert.IsTrue(createdSpeciesFact.Id > currentMaxSpeciesFactId);
            }
        }
        public void GetSpeciesFactsBySearchCriteria()
        {
            List <WebSpeciesFact>        speciesFacts1, speciesFacts2;
            WebSpeciesFactSearchCriteria searchCriteria;

            // Test factor data types.
            searchCriteria = new WebSpeciesFactSearchCriteria();
            searchCriteria.FactorDataTypeIds = new List <Int32>();
            searchCriteria.FactorDataTypeIds.Add(106); // SA_KvalitativaKaraktärer.
            speciesFacts1 = SpeciesFactManager.GetSpeciesFactsBySearchCriteria(GetContext(), searchCriteria);
            Assert.IsTrue(speciesFacts1.IsNotEmpty());

            searchCriteria.FactorIds = new List <Int32>();
            searchCriteria.FactorIds.Add(2547); // 2:e gångbenparet lång relativt kroppslängden, ben/kroppslängd kvot = 2-8
            speciesFacts2 = SpeciesFactManager.GetSpeciesFactsBySearchCriteria(GetContext(), searchCriteria);
            Assert.IsTrue(speciesFacts2.IsNotEmpty());
            Assert.IsTrue(speciesFacts1.Count > speciesFacts2.Count);

            // Test factors.
            searchCriteria           = new WebSpeciesFactSearchCriteria();
            searchCriteria.FactorIds = new List <Int32>();
            searchCriteria.FactorIds.Add((Int32)(FactorId.RedlistCategory));
            searchCriteria.PeriodIds = new List <Int32>();
            searchCriteria.PeriodIds.Add(2); // 2010
            speciesFacts1 = SpeciesFactManager.GetSpeciesFactsBySearchCriteria(GetContext(), searchCriteria);
            Assert.IsTrue(speciesFacts1.IsNotEmpty());

            // Test hosts.
            searchCriteria         = new WebSpeciesFactSearchCriteria();
            searchCriteria.HostIds = new List <Int32>();
            searchCriteria.HostIds.Add(102656); // Hedsidenbi.
            speciesFacts1 = SpeciesFactManager.GetSpeciesFactsBySearchCriteria(GetContext(), searchCriteria);
            Assert.IsTrue(speciesFacts1.IsNotEmpty());

            // Test include not valid hosts.
            // Hard to test since there are no host values
            // in database that belongs to not valid taxa.
            searchCriteria           = new WebSpeciesFactSearchCriteria();
            searchCriteria.FactorIds = new List <Int32>();
            searchCriteria.FactorIds.Add(5);
            searchCriteria.IncludeNotValidHosts = false;
            speciesFacts1 = SpeciesFactManager.GetSpeciesFactsBySearchCriteria(GetContext(), searchCriteria);
            Assert.IsTrue(speciesFacts1.IsNotEmpty());

            searchCriteria           = new WebSpeciesFactSearchCriteria();
            searchCriteria.FactorIds = new List <Int32>();
            searchCriteria.FactorIds.Add(5);
            searchCriteria.IncludeNotValidHosts = true;
            speciesFacts2 = SpeciesFactManager.GetSpeciesFactsBySearchCriteria(GetContext(), searchCriteria);
            Assert.IsTrue(speciesFacts2.IsNotEmpty());
            Assert.IsTrue(speciesFacts2.Count >= speciesFacts1.Count);

            // Test include not valid taxa.
            searchCriteria           = new WebSpeciesFactSearchCriteria();
            searchCriteria.FactorIds = new List <Int32>();
            searchCriteria.FactorIds.Add(5);
            searchCriteria.IncludeNotValidTaxa = false;
            speciesFacts1 = SpeciesFactManager.GetSpeciesFactsBySearchCriteria(GetContext(), searchCriteria);
            Assert.IsTrue(speciesFacts1.IsNotEmpty());

            searchCriteria           = new WebSpeciesFactSearchCriteria();
            searchCriteria.FactorIds = new List <Int32>();
            searchCriteria.FactorIds.Add(5);
            searchCriteria.IncludeNotValidTaxa = true;
            speciesFacts2 = SpeciesFactManager.GetSpeciesFactsBySearchCriteria(GetContext(), searchCriteria);
            Assert.IsTrue(speciesFacts2.IsNotEmpty());
            Assert.IsTrue(speciesFacts2.Count > speciesFacts1.Count);

            // Test individual categories.
            searchCriteria = new WebSpeciesFactSearchCriteria();
            searchCriteria.IndividualCategoryIds = new List <Int32>();
            searchCriteria.IndividualCategoryIds.Add(9); // Ungar (juveniler)
            speciesFacts1 = SpeciesFactManager.GetSpeciesFactsBySearchCriteria(GetContext(), searchCriteria);
            Assert.IsTrue(speciesFacts1.IsNotEmpty());
            searchCriteria.IndividualCategoryIds.Add(10); // Vuxna (imago).
            speciesFacts1 = SpeciesFactManager.GetSpeciesFactsBySearchCriteria(GetContext(), searchCriteria);
            Assert.IsTrue(speciesFacts1.IsNotEmpty());

            // Test periods.
            searchCriteria           = new WebSpeciesFactSearchCriteria();
            searchCriteria.FactorIds = new List <Int32>();
            searchCriteria.FactorIds.Add((Int32)(FactorId.RedlistCategory));
            searchCriteria.PeriodIds = new List <Int32>();
            searchCriteria.PeriodIds.Add(1); // 2000
            speciesFacts1 = SpeciesFactManager.GetSpeciesFactsBySearchCriteria(GetContext(), searchCriteria);
            Assert.IsTrue(speciesFacts1.IsNotEmpty());
            searchCriteria.PeriodIds.Add(2); // 2005
            speciesFacts1 = SpeciesFactManager.GetSpeciesFactsBySearchCriteria(GetContext(), searchCriteria);
            Assert.IsTrue(speciesFacts1.IsNotEmpty());

            // Test periods and individual categories.
            searchCriteria           = new WebSpeciesFactSearchCriteria();
            searchCriteria.PeriodIds = new List <Int32>();
            searchCriteria.PeriodIds.Add(3);              // 2010
            searchCriteria.IndividualCategoryIds = new List <Int32>();
            searchCriteria.IndividualCategoryIds.Add(10); // Vuxna (imago).
            speciesFacts1 = SpeciesFactManager.GetSpeciesFactsBySearchCriteria(GetContext(), searchCriteria);
            Assert.IsTrue(speciesFacts1.IsNotEmpty());

            // Test taxa.
            searchCriteria          = new WebSpeciesFactSearchCriteria();
            searchCriteria.TaxonIds = new List <Int32>();
            searchCriteria.TaxonIds.Add((Int32)(TaxonId.DrumGrasshopper));
            speciesFacts1 = SpeciesFactManager.GetSpeciesFactsBySearchCriteria(GetContext(), searchCriteria);
            Assert.IsTrue(speciesFacts1.IsNotEmpty());

            // Test Boolean species fact field condition.
            searchCriteria           = new WebSpeciesFactSearchCriteria();
            searchCriteria.FactorIds = new List <Int32>();
            searchCriteria.FactorIds.Add((Int32)(FactorId.RedlistCategory));
            searchCriteria.FieldSearchCriteria = new List <WebSpeciesFactFieldSearchCriteria>();
            searchCriteria.FieldSearchCriteria.Add(new WebSpeciesFactFieldSearchCriteria());
            searchCriteria.FieldSearchCriteria[0].FactorField = GetFactorField(30, "tal2");
            searchCriteria.FieldSearchCriteria[0].Operator    = CompareOperator.Equal;
            searchCriteria.FieldSearchCriteria[0].Values      = new List <String>();
            searchCriteria.FieldSearchCriteria[0].Values.Add(Boolean.TrueString);
            speciesFacts1 = SpeciesFactManager.GetSpeciesFactsBySearchCriteria(GetContext(), searchCriteria);
            Assert.IsTrue(speciesFacts1.IsNotEmpty());

            // Test Float64 species fact field condition.
            searchCriteria           = new WebSpeciesFactSearchCriteria();
            searchCriteria.FactorIds = new List <Int32>();
            searchCriteria.FactorIds.Add(2547); // 2:e gångbenparet lång relativt kroppslängden, ben/kroppslängd kvot = 2-8
            searchCriteria.FieldSearchCriteria = new List <WebSpeciesFactFieldSearchCriteria>();
            searchCriteria.FieldSearchCriteria.Add(new WebSpeciesFactFieldSearchCriteria());
            searchCriteria.FieldSearchCriteria[0].FactorField = GetFactorField(106, "tal1");
            searchCriteria.FieldSearchCriteria[0].Operator    = CompareOperator.Greater;
            searchCriteria.FieldSearchCriteria[0].Values      = new List <String>();
            searchCriteria.FieldSearchCriteria[0].Values.Add("0");
            speciesFacts1 = SpeciesFactManager.GetSpeciesFactsBySearchCriteria(GetContext(), searchCriteria);
            Assert.IsTrue(speciesFacts1.IsNotEmpty());

            searchCriteria.FieldSearchCriteria[0].Operator = CompareOperator.Greater;
            searchCriteria.FieldSearchCriteria[0].Values   = new List <String>();
            searchCriteria.FieldSearchCriteria[0].Values.Add("2");
            speciesFacts1 = SpeciesFactManager.GetSpeciesFactsBySearchCriteria(GetContext(), searchCriteria);
            Assert.IsTrue(speciesFacts1.IsEmpty());

            // Test Int32 species fact field condition.
            searchCriteria           = new WebSpeciesFactSearchCriteria();
            searchCriteria.FactorIds = new List <Int32>();
            searchCriteria.FactorIds.Add((Int32)(FactorId.RedlistCategory));
            searchCriteria.FieldSearchCriteria = new List <WebSpeciesFactFieldSearchCriteria>();
            searchCriteria.FieldSearchCriteria.Add(new WebSpeciesFactFieldSearchCriteria());
            searchCriteria.FieldSearchCriteria[0].FactorField = GetFactorField(30, "tal1");
            searchCriteria.FieldSearchCriteria[0].Operator    = CompareOperator.Equal;
            searchCriteria.FieldSearchCriteria[0].Values      = new List <String>();
            searchCriteria.FieldSearchCriteria[0].Values.Add(2.WebToString()); // CR
            searchCriteria.FieldSearchCriteria.Add(new WebSpeciesFactFieldSearchCriteria());
            searchCriteria.FieldSearchCriteria[1].FactorField = GetFactorField(30, "tal1");
            searchCriteria.FieldSearchCriteria[1].Operator    = CompareOperator.Equal;
            searchCriteria.FieldSearchCriteria[1].Values      = new List <String>();
            searchCriteria.FieldSearchCriteria[1].Values.Add(3.WebToString()); // EN
            searchCriteria.FieldSearchCriteria.Add(new WebSpeciesFactFieldSearchCriteria());
            searchCriteria.FieldSearchCriteria[2].FactorField = GetFactorField(30, "tal1");
            searchCriteria.FieldSearchCriteria[2].Operator    = CompareOperator.Equal;
            searchCriteria.FieldSearchCriteria[2].Values      = new List <String>();
            searchCriteria.FieldSearchCriteria[2].Values.Add(4.WebToString()); // VU
            searchCriteria.FieldLogicalOperator = LogicalOperator.Or;
            speciesFacts1 = SpeciesFactManager.GetSpeciesFactsBySearchCriteria(GetContext(), searchCriteria);
            Assert.IsTrue(speciesFacts1.IsNotEmpty());

            // Test String species fact field condition.
            searchCriteria           = new WebSpeciesFactSearchCriteria();
            searchCriteria.FactorIds = new List <Int32>();
            searchCriteria.FactorIds.Add((Int32)(FactorId.RedlistCategory));
            searchCriteria.FieldSearchCriteria = new List <WebSpeciesFactFieldSearchCriteria>();
            searchCriteria.FieldSearchCriteria.Add(new WebSpeciesFactFieldSearchCriteria());
            searchCriteria.FieldSearchCriteria[0].FactorField = GetFactorField(30, "text1");
            searchCriteria.FieldSearchCriteria[0].Operator    = CompareOperator.Equal;
            searchCriteria.FieldSearchCriteria[0].Values      = new List <String>();
            searchCriteria.FieldSearchCriteria[0].Values.Add("VU");
            speciesFacts1 = SpeciesFactManager.GetSpeciesFactsBySearchCriteria(GetContext(), searchCriteria);
            Assert.IsTrue(speciesFacts1.IsNotEmpty());

            searchCriteria.FieldSearchCriteria[0].Operator = CompareOperator.Like;
            searchCriteria.FieldSearchCriteria[0].Values   = new List <String>();
            searchCriteria.FieldSearchCriteria[0].Values.Add("%VU%");
            speciesFacts2 = SpeciesFactManager.GetSpeciesFactsBySearchCriteria(GetContext(), searchCriteria);
            Assert.IsTrue(speciesFacts2.IsNotEmpty());
            Assert.IsTrue(speciesFacts1.Count < speciesFacts2.Count);

            searchCriteria.FieldSearchCriteria[0].Operator = CompareOperator.Equal;
            searchCriteria.FieldSearchCriteria[0].Values   = new List <String>();
            searchCriteria.FieldSearchCriteria[0].Values.Add("V'U");
            speciesFacts2 = SpeciesFactManager.GetSpeciesFactsBySearchCriteria(GetContext(), searchCriteria);
            Assert.IsTrue(speciesFacts2.IsEmpty());
        }