public override object Data()
{
//// New fix
// if this is a string, then return without a ' '
if (_data is string)
{
string data = _data as string;
if (data.IndexOf('"') != -1)
{
string value = data.Trim(new char[] { '"' });
int integer;
if (Int32.TryParse(value, out integer))
{
return data;
}
else
{
return value;
}
}
else if (data.IndexOf('\'') != -1)
{
string value = data.Trim(new char[] { '\'' });
int integer;
if (Int32.TryParse(value, out integer))
{
return data;
}
else
{
return value;
}
}
}
return _data;
}
public void Assign() { AbstractTerm term = new AbstractTerm(); ConstantTerm con = new ConstantTerm("ali"); term.Assign(con); Assert.AreSame(term.Dereference(), con); Assert.AreSame(term.Dereference(), con.Dereference()); Assert.AreEqual(term.Data(), con.Data()); Assert.AreSame(term.Reference(), con.Reference()); Assert.IsFalse(term.IsList); Assert.IsFalse(term.IsObject); Assert.IsFalse(term.IsReference); Assert.IsFalse(term.IsStructure); Assert.IsTrue(term.IsConstant); }