public void LocalityGroupsQueryAgentShouldReturnSpecificRecord()
        {
            using (var connection = new FTTConnection())
            {
                var persistedLocalityGroup = connection.LocalityGroups.FirstOrDefault(lg => "CAMANAVA".Equals(lg.Name, StringComparison.InvariantCultureIgnoreCase));
                Assert.IsNotNull(persistedLocalityGroup);

                var queryAgent = new LocalityGroupsQueryAgent(connection);
                var retrievedLocalityGroup = queryAgent.Get(persistedLocalityGroup.LocalityGroupId);
                Assert.IsNotNull(retrievedLocalityGroup);
            }
        }
        public void LocalityGroupsQueryAgentShouldReturnAllRecords()
        {
            using (var connection = new FTTConnection())
            {
                var persistedLocalityGroups = connection.LocalityGroups.ToList();
                Assert.IsTrue(persistedLocalityGroups.Any());

                var queryAgent = new LocalityGroupsQueryAgent(connection);
                var retrievedLocalityGroups = queryAgent.GetAll();
                Assert.IsNotNull(retrievedLocalityGroups);
                Assert.IsTrue(retrievedLocalityGroups.Any());
                Assert.AreEqual(persistedLocalityGroups.Count, retrievedLocalityGroups.Count);
            }
        }
        public void LocalityGroupsQueryAgentShouldReturnSpecificRecords()
        {
            using (var connection = new FTTConnection())
            {
                var persistedLocalityGroups = connection.LocalityGroups
                                                        .Where(lg => lg.Name.StartsWith("C"))
                                                        .ToList();

                Assert.IsTrue(persistedLocalityGroups.Any());

                var queryAgent = new LocalityGroupsQueryAgent(connection);
                var retrievedLocalityGroups = queryAgent.Get("localitygroups.Name LIKE 'C%'", "localitygroups.Name");
                Assert.IsNotNull(retrievedLocalityGroups);
                Assert.IsTrue(retrievedLocalityGroups.Any());
                Assert.AreEqual(persistedLocalityGroups.Count, retrievedLocalityGroups.Count);
            }
        }
        public void LocalityGroupsQueryAgentShouldReturnReferences()
        {
            using (var connection = new FTTConnection())
            {
                var queryAgent = new LocalityGroupsQueryAgent(connection);
                var references = queryAgent.GetReferences();

                var countries = references.GetType().GetProperty("Countries").GetValue(references, null) as ICollection<Country>;
                Assert.IsTrue(countries.Any());

                var islands = references.GetType().GetProperty("Islands").GetValue(references, null) as ICollection<Island>;
                Assert.IsTrue(islands.Any());

                var regions = references.GetType().GetProperty("Regions").GetValue(references, null) as ICollection<Region>;
                Assert.IsTrue(regions.Any());
            }
        }