public void Should_return_unique_item_or_none()
        {
            Arrange_persisted_sample_entities();

            var searchSpec = new SampleEntitySearchSpec();
            searchSpec.Filter.Name.EqualTo("Tom");

            Assert.That(Resolve<SampleEntityRepository>().GetByUnique(searchSpec), Is.Not.Null);
        }
        public void Should_filter_by_string()
        {
            Arrange_persisted_sample_entities();

            var searchSpec = new SampleEntitySearchSpec();
            searchSpec.Filter.Name.EqualTo("Tom");

            Assert.That(Resolve<SampleEntityRepository>().GetBy(searchSpec).Count, Is.EqualTo(1));
        }
        public void Should_return_one_result()
        {
            var entityRepository = _container.Resolve<SampleEntityRepository>();
            entityRepository.Create(new SampleEntity { Name = "Foo" });

            var searchSpec = new SampleEntitySearchSpec();
            searchSpec.Filter.Name.EqualTo("Foo");

            var sampleEntity = Resolve<SampleEntityRepository>().GetByUnique(searchSpec);
            Assert.That(sampleEntity, Is.Not.Null);
            Assert.That(sampleEntity.Name, Is.EqualTo("Foo"));
        }
        public void Should_order_by()
        {
            var entityRepository = Resolve<SampleEntityRepository>();
            entityRepository.Create(new SampleEntity { Name = "A", Text = "A"});
            entityRepository.Create(new SampleEntity { Name = "B", Text = "B"});
            entityRepository.Create(new SampleEntity { Name = "B", Text = "A"});

            var spec = new SampleEntitySearchSpec();
            spec.OrderBy.Name.Asc();
            spec.OrderBy.Text.Asc();

            var entities = entityRepository.GetBy(spec);

            Assert.That(entities[0].Name, Is.EqualTo("A"));
            Assert.That(entities[1].Name, Is.EqualTo("B"));
            Assert.That(entities[1].Text, Is.EqualTo("A"));
        }