public void Test()
{
TAAuthorizer a1 = new ConstantAuthorizer(TAAuthorizer.Decision.Allow);
TransportAddress ta = TransportAddressFactory.CreateInstance("brunet.udp://127.0.0.1:45");
Assert.IsTrue(a1.IsNotDenied(ta), "constant allow");
TAAuthorizer a2 = new ConstantAuthorizer(TAAuthorizer.Decision.Deny);
Assert.IsFalse(a2.IsNotDenied(ta), "constant deny");
IPAddress network = IPAddress.Parse("10.128.0.0");
TAAuthorizer a3 = new NetmaskTAAuthorizer(network, 9,
TAAuthorizer.Decision.Deny,
TAAuthorizer.Decision.None);
TransportAddress ta2 = TransportAddressFactory.CreateInstance("brunet.udp://10.255.255.255:80");
Assert.AreEqual(a3.Authorize(ta2), TAAuthorizer.Decision.Deny, "Netmask Deny");
TransportAddress ta3 = TransportAddressFactory.CreateInstance("brunet.udp://10.1.255.255:80");
Assert.AreEqual(a3.Authorize(ta3), TAAuthorizer.Decision.None, "Netmask None");
//Here is the series:
//If Netmask doesn't say no, constant says yes:
TAAuthorizer[] my_auths = new TAAuthorizer[] { a3, a1 };
TAAuthorizer a4 = new SeriesTAAuthorizer(my_auths);
Assert.AreEqual(a4.Authorize(ta2), TAAuthorizer.Decision.Deny, "Series Deny");
Assert.AreEqual(a4.Authorize(ta3), TAAuthorizer.Decision.Allow, "Series Allow");
}