DeveelDB  20151217
complete SQL database system, primarly developed for .NET/Mono frameworks
NullObjectTest.cs
Go to the documentation of this file.
1 //
2 // Copyright 2010-2014 Deveel
3 //
4 // Licensed under the Apache License, Version 2.0 (the "License");
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
7 //
8 // http://www.apache.org/licenses/LICENSE-2.0
9 //
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an "AS IS" BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
15 using System;
16 
17 using Deveel.Data.Types;
18 
19 using NUnit;
20 using NUnit.Framework;
21 
22 namespace Deveel.Data {
23  [TestFixture]
24  public class NullObjectTest {
25  [Test]
26  public void NullObjectEqualsDbNull() {
27  DataObject obj = null;
28  Assert.AreEqual(DBNull.Value, (DBNull)obj);
29  Assert.IsTrue(obj == DBNull.Value);
30  }
31 
32  [Test]
33  public void NullObjectEqualsNull() {
34  DataObject obj = null;
35  Assert.AreEqual(null, obj);
36 
37  DataObject result = null;
38  Assert.DoesNotThrow(() => result = obj == null);
39  Assert.IsNotNull(result);
40  Assert.IsInstanceOf<BooleanType>(result.Type);
41  Assert.IsTrue(result.IsNull);
42  }
43  }
44 }
bool IsNull
Gets a value that indicates if this object is materialized as null.
Definition: DataObject.cs:91
SqlType Type
Gets the SqlType that defines the object properties
Definition: DataObject.cs:78
Represents a dynamic object that encapsulates a defined SqlType and a compatible constant ISqlObject ...
Definition: DataObject.cs:35