public void CompareTest()
 {
     var i = new byte[20];
     var j = new byte[20];
     i[19] = 1;
     j[19] = 2;
     var one = new NodeId(i);
     var two = new NodeId(j);
     Assert.True(one.CompareTo(two) < 0);
     Assert.True(two.CompareTo(one) > 0);
     Assert.True(one.CompareTo(one) == 0);
 }
Beispiel #2
0
 public void CompareTest()
 {
     byte[] i = new byte[20];
     byte[] j = new byte[20];
     i[19] = 1;
     j[19] = 2;
     NodeId one = new NodeId(i);
     NodeId two = new NodeId(j);
     Assert.IsTrue(one.CompareTo(two) < 0);
     Assert.IsTrue(two.CompareTo(one) > 0);
     Assert.IsTrue(one.CompareTo(one) == 0);
 }
Beispiel #3
0
        public void CompareTest()
        {
            byte[] i = new byte[20];
            byte[] j = new byte[20];
            i[19] = 1;
            j[19] = 2;
            NodeId one = new NodeId(i);
            NodeId two = new NodeId(j);

            Assert.IsTrue(one.CompareTo(two) < 0);
            Assert.IsTrue(two.CompareTo(one) > 0);
            Assert.IsTrue(one.CompareTo(one) == 0);
        }
Beispiel #4
0
        internal static void ManyNodes(out RoutingTable.RoutingTable routingTable, out List <NodeId> nodes)
        {
            // Generate our local id
            byte[] id = new byte[20];
            id[19] = 7;

            nodes = new List <NodeId>();
            RoutingTable.RoutingTable table = new RoutingTable.RoutingTable(new Node(new NodeId(id), new IPEndPoint(IPAddress.Any, 0)));

            for (int i = 0; i <= 30; i++)
            {
                if (i == 7)
                {
                    continue;
                }

                id     = new byte[20];
                id[19] = (byte)i;
                nodes.Add(new NodeId(id));
                table.Add(new Node(new NodeId(id), new IPEndPoint(IPAddress.Any, 0)));
            }

            nodes.Sort(delegate(NodeId left, NodeId right)
            {
                NodeId dLeft  = left.Xor(table.LocalNode.Id);
                NodeId dRight = right.Xor(table.LocalNode.Id);
                return(dLeft.CompareTo(dRight));
            });

            nodes.RemoveAll(n => table.FindNode(n) == null);
            routingTable = table;
        }
Beispiel #5
0
 public void NodeIdCompareToTestMethod()
 {
     NodeId _property = new NodeId(VariableTypes.PropertyType);
       Assert.AreNotSame(_property, VariableTypeIds.PropertyType);
       int _res = _property.CompareTo(VariableTypeIds.PropertyType);
       Assert.AreEqual<int>(0, _res);
 }
Beispiel #6
0
        public virtual void TestNodeId()
        {
            NodeId nodeId1 = NodeId.NewInstance("10.18.52.124", 8041);
            NodeId nodeId2 = NodeId.NewInstance("10.18.52.125", 8038);
            NodeId nodeId3 = NodeId.NewInstance("10.18.52.124", 8041);
            NodeId nodeId4 = NodeId.NewInstance("10.18.52.124", 8039);

            NUnit.Framework.Assert.IsTrue(nodeId1.Equals(nodeId3));
            NUnit.Framework.Assert.IsFalse(nodeId1.Equals(nodeId2));
            NUnit.Framework.Assert.IsFalse(nodeId3.Equals(nodeId4));
            NUnit.Framework.Assert.IsTrue(nodeId1.CompareTo(nodeId3) == 0);
            NUnit.Framework.Assert.IsTrue(nodeId1.CompareTo(nodeId2) < 0);
            NUnit.Framework.Assert.IsTrue(nodeId3.CompareTo(nodeId4) > 0);
            NUnit.Framework.Assert.IsTrue(nodeId1.GetHashCode() == nodeId3.GetHashCode());
            NUnit.Framework.Assert.IsFalse(nodeId1.GetHashCode() == nodeId2.GetHashCode());
            NUnit.Framework.Assert.IsFalse(nodeId3.GetHashCode() == nodeId4.GetHashCode());
            NUnit.Framework.Assert.AreEqual("10.18.52.124:8041", nodeId1.ToString());
        }
Beispiel #7
0
        public void NodeIdCompareToTestMethod()
        {
            NodeId _property = new NodeId(VariableTypes.PropertyType);

            Assert.AreNotSame(_property, VariableTypeIds.PropertyType);
            int _res = _property.CompareTo(VariableTypeIds.PropertyType);

            Assert.AreEqual <int>(0, _res);
        }
Beispiel #8
0
        public void XorTest()
        {
            NodeId zero = new NodeId(new byte[20]);

            byte[] b = new byte[20]; b[0] = 1;
            NodeId one = new NodeId(b);

            NodeId r = one.Xor(zero);
            Assert.AreEqual(one, r, "#1");
            Assert.IsTrue(one > zero, "#2");
            Assert.IsTrue(one.CompareTo(zero) > 0, "#3");

            NodeId z = one.Xor(r);
            Assert.AreEqual(zero, z, "#4");
        }
            public int CompareTo(object o)
            {
                InternalNodeDijkstra next = (InternalNodeDijkstra)o;

                if (Distance == next.Distance)
                {
                    return(NodeId.CompareTo(next.NodeId));
                }

                if (Distance > next.Distance)
                {
                    return(1);
                }
                return(-1);
            }
        public void XorTest()
        {
            var zero = new NodeId(new byte[20]);

            var b = new byte[20];
            b[0] = 1;
            var one = new NodeId(b);

            var r = one.Xor(zero);
            Assert.Equal(one, r);
            Assert.True(one > zero);
            Assert.True(one.CompareTo(zero) > 0);

            var z = one.Xor(r);
            Assert.Equal(zero, z);
        }
Beispiel #11
0
        public void XorTest()
        {
            NodeId zero = new NodeId(new byte[20]);

            byte[] b   = new byte[20]; b[0] = 1;
            NodeId one = new NodeId(b);

            NodeId r = one.Xor(zero);

            Assert.AreEqual(one, r, "#1");
            Assert.IsTrue(one > zero, "#2");
            Assert.IsTrue(one.CompareTo(zero) > 0, "#3");

            NodeId z = one.Xor(r);

            Assert.AreEqual(zero, z, "#4");
        }
Beispiel #12
0
        public void XorTest()
        {
            NodeId zero = new NodeId(new byte[20]);

            byte[] b = new byte[20];
            b[0] = 1;
            NodeId one = new NodeId(b);

            NodeId r = one.Xor(zero);

            Assert.Equal(one, r);
            Assert.True(one > zero);
            Assert.True(one.CompareTo(zero) > 0);

            NodeId z = one.Xor(r);

            Assert.Equal(zero, z);
        }
Beispiel #13
0
        public void NullIdNodeIdComparison(Opc.Ua.IdType idType)
        {
            NodeId nodeId = NodeId.Null;

            switch (idType)
            {
            case Opc.Ua.IdType.Numeric: nodeId = new NodeId(0, 0); break;

            case Opc.Ua.IdType.String: nodeId = new NodeId(""); break;

            case Opc.Ua.IdType.Guid: nodeId = new NodeId(Guid.Empty); break;

            case Opc.Ua.IdType.Opaque: nodeId = new NodeId((byte)0); break;
            }

            Assert.IsTrue(nodeId.IsNullNodeId);

            DataValue nodeIdBasedDataValue = new DataValue(nodeId);

            DataValue dataValue = new DataValue(Attributes.NodeClass);

            dataValue.Value      = (int)Attributes.NodeClass; // without this cast the second and third asserts evaluate correctly.
            dataValue.StatusCode = nodeIdBasedDataValue.StatusCode;

            bool comparisonResult1b = dataValue.Equals(nodeIdBasedDataValue);

            Assert.IsFalse(comparisonResult1b); // assert succeeds

            bool comparisonResult1a = nodeIdBasedDataValue.Equals(dataValue);

            Assert.IsFalse(comparisonResult1a); // assert fails (symmetry for Equals is broken)

            bool comparisonResult1c = EqualityComparer <DataValue> .Default.Equals(nodeIdBasedDataValue, dataValue);

            Assert.IsFalse(comparisonResult1c); // assert fails

            int comparisonResult2 = nodeId.CompareTo(dataValue);

            Assert.IsFalse(comparisonResult2 == 0); // assert fails - this is the root cause for the previous assertion failures
        }
 /** {@inheritDoc} */
 public int CompareTo(NodeInfo other)
 {
     return(NodeId.CompareTo(other.NodeId));
 }