public void EmptyTest()
    {
        Connections c = new Connections();

        Assert.AreEqual(0, c.NumConnections);

        // There are no connections between any node IDs.
        Assert.IsFalse(c.AreConnected(0, 0));
        Assert.IsFalse(c.AreConnected(1, 2));
        Assert.IsFalse(c.AreConnected(3, 4)); // etc
    }
    public void TwoNodeOneWayConnectionTest()
    {
        Connections c = new Connections();

        c.AddConnection(0, 1);

        Assert.AreEqual(1, c.NumConnections);
        Assert.IsTrue(c.AreConnected(0, 1));
        Assert.IsFalse(c.AreConnected(0, 0));
        Assert.IsFalse(c.AreConnected(1, 0)); // one-way connection, 0->1, not 1->0
        Assert.IsFalse(c.AreConnected(1, 1));

        // Add another connection
        c.AddConnection(1, 2);

        Assert.AreEqual(2, c.NumConnections);
        Assert.IsTrue(c.AreConnected(1, 2));
        Assert.IsFalse(c.AreConnected(2, 1));
        Assert.IsFalse(c.AreConnected(2, 2));
        Assert.IsFalse(c.AreConnected(0, 2)); // not directly connected, this would only be found with a search
    }