public void EqOrNullShouldWorkAsOfficialRestriction() { const string propertyName = "name"; const string propertyValue = "something"; var equalsOrNullWinthNull = new EqOrNullExpression(propertyName, null); var equalsOrNullWinthValue = new EqOrNullExpression(propertyName, propertyValue); var nullExpression = new NullExpression(propertyName); var equalsExpression = new SimpleExpression(propertyName, propertyValue, " = ", false); Assert.That(equalsOrNullWinthNull.ToString(), Is.EqualTo(nullExpression.ToString())); IEnumerable <IProjection> actual = equalsOrNullWinthNull.GetProjections(); IEnumerable <IProjection> expected = nullExpression.GetProjections(); AssertAreEquivalent(actual, expected); Assert.That(equalsOrNullWinthValue.ToString(), Is.EqualTo(equalsExpression.ToString())); actual = equalsOrNullWinthNull.GetProjections(); expected = equalsExpression.GetProjections(); AssertAreEquivalent(actual, expected); }