예제 #1
0
        public void TestThatExcludeReturnsTrueIfIntegerValueIsNotInThePool()
        {
            var fixture    = new Fixture();
            var poolValues = fixture.CreateMany <int>(3).ToList();

            var fieldMock = MockRepository.GenerateMock <IField>();

            var criteria = new PoolCriteria <int>(fieldMock, poolValues);

            Assert.That(criteria, Is.Not.Null);

            Assert.That(criteria.Exclude(fixture.CreateAnonymous <int>()), Is.True);
        }
예제 #2
0
        public void TestThatExcludeReturnsFalseIfStringValueIsInThePool()
        {
            var fixture    = new Fixture();
            var poolValues = fixture.CreateMany <string>(3).ToList();

            var fieldMock = MockRepository.GenerateMock <IField>();

            var criteria = new PoolCriteria <string>(fieldMock, poolValues);

            Assert.That(criteria, Is.Not.Null);

            Assert.That(criteria.Exclude(poolValues.ElementAt(1)), Is.False);
        }
예제 #3
0
        public void TestThatConstructorInitializeCriteria()
        {
            var fixture = new Fixture();

            fixture.Customize <Type>(e => e.FromFactory(() => typeof(object)));
            fixture.Customize <ITable>(e => e.FromFactory(() => MockRepository.GenerateMock <ITable>()));
            fixture.Customize <IField>(e => e.FromFactory(() => MockRepository.GenerateMock <IField>()));
            fixture.Customize <IMap>(e => e.FromFactory(() => MockRepository.GenerateMock <IMap>()));

            var fieldMock = fixture.CreateAnonymous <Field>();
            var criteria  = new PoolCriteria <object>(fieldMock, fixture.CreateMany <object>(5).ToList());

            Assert.That(criteria, Is.Not.Null);
            Assert.That(criteria.Field, Is.Not.Null);
            Assert.That(criteria.Field, Is.EqualTo(fieldMock));
        }
예제 #4
0
        public void TestThatAsStringReturnsStringCriteriaForIntegerValues()
        {
            var fixture    = new Fixture();
            var poolValues = fixture.CreateMany <int>(3).ToList();

            var fieldMock = MockRepository.GenerateMock <IField>();

            fieldMock.Expect(m => m.NameSource)
            .Return(fixture.CreateAnonymous <string>())
            .Repeat.Any();

            var criteria = new PoolCriteria <int>(fieldMock, poolValues);

            Assert.That(criteria, Is.Not.Null);

            var stringCriteria = criteria.AsString();

            Assert.That(stringCriteria, Is.Not.Null);
            Assert.That(stringCriteria, Is.Not.Empty);
            Assert.That(stringCriteria, Is.EqualTo(string.Format("Regex.IsMatch({0}.Value.ToString(), \"^{1}|{2}|{3}$\")", fieldMock.NameSource, poolValues.ElementAt(0), poolValues.ElementAt(1), poolValues.ElementAt(2))));
        }
예제 #5
0
        public void TestThatAsSqlReturnsSqlCriteriaForStringValues()
        {
            var fixture    = new Fixture();
            var poolValues = fixture.CreateMany <string>(3).ToList();

            var fieldMock = MockRepository.GenerateMock <IField>();

            fieldMock.Expect(m => m.NameSource)
            .Return(fixture.CreateAnonymous <string>())
            .Repeat.Any();

            var criteria = new PoolCriteria <string>(fieldMock, poolValues);

            Assert.That(criteria, Is.Not.Null);

            var sqlCriteria = criteria.AsSql();

            Assert.That(sqlCriteria, Is.Not.Null);
            Assert.That(sqlCriteria, Is.Not.Empty);
            Assert.That(sqlCriteria, Is.EqualTo(string.Format("{0} IN ('{1}', '{2}', '{3}')", fieldMock.NameSource, poolValues.ElementAt(0), poolValues.ElementAt(1), poolValues.ElementAt(2))));
        }