public void ErlPortTest() { var t = new ErlPort("test", 10, 1); Assert.IsTrue(t.Equals(new ErlPort("test", 10, 1))); Assert.AreEqual(t, new ErlPort("test", 10, 1)); Assert.AreEqual(1, new ErlPort("tesu", 10, 1).CompareTo(t)); Assert.AreEqual(-1, new ErlPort("tess", 10, 1).CompareTo(t)); Assert.AreEqual(-1, new ErlPort("test", 9, 1).CompareTo(t)); Assert.AreEqual(1, new ErlPort("test", 12, 1).CompareTo(t)); Assert.AreEqual(-1, new ErlPort("test", 10, 0).CompareTo(t)); Assert.AreEqual(1, new ErlPort("test", 10, 2).CompareTo(t)); Assert.AreEqual("#Port<test.10>", t.ToString()); Assert.AreEqual("#Port<test.10>", t.ValueAsString); Assert.IsTrue(t.IsScalar); Assert.AreEqual(ErlTypeOrder.ErlPort, t.TypeOrder); Assert.IsTrue(t.Matches(new ErlPort("test", 10, 1))); Assert.AreEqual(new ErlVarBind(), t.Match(new ErlPort("test", 10, 1))); Assert.DoesNotThrow(() => { var x = t.ValueAsObject; }); Assert.Throws <ErlIncompatibleTypesException>(() => { var x = t.ValueAsInt; }); Assert.Throws <ErlIncompatibleTypesException>(() => { var x = t.ValueAsLong; }); Assert.Throws <ErlIncompatibleTypesException>(() => { var x = t.ValueAsDecimal; }); Assert.Throws <ErlIncompatibleTypesException>(() => { var x = t.ValueAsDateTime; }); Assert.Throws <ErlIncompatibleTypesException>(() => { var x = t.ValueAsTimeSpan; }); Assert.Throws <ErlIncompatibleTypesException>(() => { var x = t.ValueAsDouble; }); Assert.AreEqual("#Port<test.10>", t.ValueAsString); Assert.Throws <ErlIncompatibleTypesException>(() => { var x = t.ValueAsBool; }); Assert.Throws <ErlIncompatibleTypesException>(() => { var x = t.ValueAsChar; }); Assert.Throws <ErlIncompatibleTypesException>(() => { var x = t.ValueAsByteArray; }); IErlObject temp = null; Assert.IsFalse(t.Subst(ref temp, new ErlVarBind())); Assert.IsTrue(t.Visit(false, (acc, o) => acc |= o is ErlPort)); }
public void ErlPortTest() { var t = new ErlPort("test", 10, 1); Assert.IsTrue(t.Equals(new ErlPort("test", 10, 1))); Assert.AreEqual(t, new ErlPort("test", 10, 1)); Assert.AreEqual(1, new ErlPort("tesu", 10, 1).CompareTo(t)); Assert.AreEqual(-1, new ErlPort("tess", 10, 1).CompareTo(t)); Assert.AreEqual(-1, new ErlPort("test", 9, 1).CompareTo(t)); Assert.AreEqual(1, new ErlPort("test", 12, 1).CompareTo(t)); Assert.AreEqual(-1, new ErlPort("test", 10, 0).CompareTo(t)); Assert.AreEqual(1, new ErlPort("test", 10, 2).CompareTo(t)); Assert.AreEqual("#Port<test.10>", t.ToString()); Assert.AreEqual("#Port<test.10>", t.ValueAsString); Assert.IsTrue(t.IsScalar); Assert.AreEqual(ErlTypeOrder.ErlPort, t.TypeOrder); Assert.IsTrue(t.Matches(new ErlPort("test", 10, 1))); Assert.AreEqual(new ErlVarBind(), t.Match(new ErlPort("test", 10, 1))); Assert.DoesNotThrow(() => { var x = t.ValueAsObject; }); Assert.Throws<ErlIncompatibleTypesException>(() => { var x = t.ValueAsInt; }); Assert.Throws<ErlIncompatibleTypesException>(() => { var x = t.ValueAsLong; }); Assert.Throws<ErlIncompatibleTypesException>(() => { var x = t.ValueAsDecimal; }); Assert.Throws<ErlIncompatibleTypesException>(() => { var x = t.ValueAsDateTime; }); Assert.Throws<ErlIncompatibleTypesException>(() => { var x = t.ValueAsTimeSpan; }); Assert.Throws<ErlIncompatibleTypesException>(() => { var x = t.ValueAsDouble; }); Assert.AreEqual("#Port<test.10>", t.ValueAsString); Assert.Throws<ErlIncompatibleTypesException>(() => { var x = t.ValueAsBool; }); Assert.Throws<ErlIncompatibleTypesException>(() => { var x = t.ValueAsChar; }); Assert.Throws<ErlIncompatibleTypesException>(() => { var x = t.ValueAsByteArray; }); IErlObject temp = null; Assert.IsFalse(t.Subst(ref temp, new ErlVarBind())); Assert.IsTrue(t.Visit(false, (acc, o) => acc |= o is ErlPort)); }