public void ReadTest()
        {
            // Arrange
            ChildResourceRepository target   = new ChildResourceRepository(_context);
            ChildResource           expected = _mockdata.ChildResource1();

            // Act
            ChildResource actual = target.Read(expected.Id);

            // Assert
            Assert.AreEqual(expected.Id, actual.Id);
        }
        public void ReadAllTest()
        {
            // Arrange
            ChildResourceRepository target   = new ChildResourceRepository(_context);
            List <ChildResource>    expected = _mockdata.GetAll();

            // Act
            List <ChildResource> actual = target.ReadAll();

            // Assert
            Assert.IsTrue(actual.Count >= 0);
        }
        public void CreateTest()
        {
            // Arrange
            ChildResourceRepository target   = new ChildResourceRepository(_context);
            ChildResource           expected = _mockdata.NewChildResource();

            // Act
            ChildResource actual = target.Create(expected);

            // Assert
            //Assert.AreEqual(expected.Name, actual.Name);
            Assert.IsFalse(actual.Id == 0);
        }
        public void DeleteTest()
        {
            // Arrange
            ChildResourceRepository target        = new ChildResourceRepository(_context);
            List <ChildResource>    originalItems = _mockdata.GetAll();
            ChildResource           expected      = _mockdata.DeleteChildResource1();

            // Act
            target.Delete(expected.Id);
            List <ChildResource> updatedItems = target.ReadAll();

            // Assert
            Assert.AreNotEqual(originalItems.Count, updatedItems.Count);
        }
        public void UpdateTest()
        {
            // Arrange
            ChildResourceRepository target   = new ChildResourceRepository(_context);
            ChildResource           expected = _mockdata.UpdateChildResource1();

            expected.Name = Guid.NewGuid().ToString();

            // Act
            ChildResource actual = target.Update(expected);

            // Assert
            Assert.AreEqual(expected.Name, actual.Name);
        }
        public void UpdateNotFoundTest()
        {
            // Arrange
            ChildResourceRepository target   = new ChildResourceRepository(_context);
            ChildResource           expected = _mockdata.UpdateChildResource1();

            expected.Id   = -1;
            expected.Name = Guid.NewGuid().ToString();

            // Act
            ChildResource actual = target.Update(expected);

            // Assert
            Assert.IsNull(actual);
        }
        public void SearchWithoutPagingOrSortingTest()
        {
            // Arrange
            ChildResourceRepository     target   = new ChildResourceRepository(_context);
            ChildResource               expected = _mockdata.ChildResource1();
            ChildResourceSearchCriteria criteria = new ChildResourceSearchCriteria()
            {
                SortFieldName  = null,
                SortDirection  = Domain.Client.Enumerations.SortDirection.Descending,
                PageSize       = -1,
                PageNumber     = 1,
                NameStartsWith = expected.Name
            };

            // Act
            List <ChildResource> actual = target.Search(criteria);

            // Assert
            Assert.IsTrue(actual.Count >= 0);
        }
        public void BuildQueryTest()
        {
            // Arrange
            ChildResourceRepository target = new ChildResourceRepository(_context);
            Type          t        = typeof(ChildResourceRepository);
            ChildResource expected = _mockdata.ChildResource1();
            ChildResourceSearchCriteria criteria = new ChildResourceSearchCriteria()
            {
                Id             = expected.Id,
                NameStartsWith = expected.Name
            };

            MethodInfo methodInfo = t.GetMethod("BuildQuery", BindingFlags.NonPublic | BindingFlags.Instance);

            object[] parameters = { criteria };

            // Act
            methodInfo.Invoke(target, parameters);

            //Assert
        }