public void TestThatExcludeReturnsFalseIfValueIsNotNull()
        {
            var fixture = new Fixture();

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

            var fieldMock = fixture.CreateAnonymous <Field>();
            var criteria  = new NotNullCriteria(fieldMock);

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

            Assert.That(criteria.Exclude(fixture.CreateAnonymous <string>()), Is.False);
        }
        public void TestThatConstructorInitializeCriteria()
        {
            var fixture = new Fixture();

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

            var fieldMock = fixture.CreateAnonymous <Field>();
            var criteria  = new NotNullCriteria(fieldMock);

            Assert.That(criteria, Is.Not.Null);
            Assert.That(criteria.Field, Is.Not.Null);
            Assert.That(criteria.Field, Is.EqualTo(fieldMock));
        }
        public void TestThatAsStringReturnsStringCriteriaWhereDataTypeIsLong()
        {
            var fixture = new Fixture();

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

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

            var criteria = new NotNullCriteria(fieldMock);

            Assert.That(criteria, Is.Not.Null);
            Assert.That(criteria.AsString(), Is.Not.Null);
            Assert.That(criteria.AsString(), Is.Not.Empty);
            Assert.That(criteria.AsString(), Is.EqualTo(string.Format("Equals({0}.Value, null) == false\r\nEquals({0}.Value, 0) == false", fieldMock.NameSource)));
        }
        public void TestThatAsSqlReturnsSqlCriteriaWhereDataTypeIsObject()
        {
            var fixture = new Fixture();

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

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

            var criteria = new NotNullCriteria(fieldMock);

            Assert.That(criteria, Is.Not.Null);
            Assert.That(criteria.AsSql(), Is.Not.Null);
            Assert.That(criteria.AsSql(), Is.Not.Empty);
            Assert.That(criteria.AsSql(), Is.EqualTo(string.Format("{0} IS NOT NULL", fieldMock.NameSource)));
        }