public void FieldOfViewWithVaryingOrientationTest() { Room r = new Room(); List<Device> devices = new List<Device>(); devices.Add((new Device("zero", new Point(5, 0), 0.0, 15.0))); devices.Add((new Device("one", new Point(10, 0), 0.0, 15.0))); devices.Add((new Device("two", new Point(15, 0), 0.0, 15.0))); devices.Add((new Device("three", new Point(10, 5), 0.0, 15.0))); devices.Add((new Device("four", new Point(10, -5), 0.0, 15.0))); foreach (Device d in devices) r.AddDevice(d); List<Device> results = r.GetDevicesInViewOf(r.GetDevice("zero")); Assert.AreEqual(results[0], devices[1]); Assert.AreEqual(results[1], devices[2]); Assert.AreEqual(results.Count, 2); results = r.GetDevicesInViewOf(r.GetDevice("one")); Assert.AreEqual(results[0], devices[2]); Assert.AreEqual(results.Count, 1); results = r.GetDevicesInViewOf(r.GetDevice("two")); Assert.AreEqual(results.Count, 0); results = r.GetDevicesInViewOf(r.GetDevice("three")); Assert.AreEqual(results.Count, 0); results = r.GetDevicesInViewOf(r.GetDevice("four")); Assert.AreEqual(results.Count, 0); foreach (Device d in devices) { d.Orientation = 90.0; } results = r.GetDevicesInViewOf(r.GetDevice("one")); Assert.AreEqual(results[0], devices[3]); Assert.AreEqual(results.Count, 1); results = r.GetDevicesInViewOf(r.GetDevice("four")); Assert.AreEqual(results[0], devices[1]); Assert.AreEqual(results[1], devices[3]); Assert.AreEqual(results.Count, 2); results = r.GetDevicesInViewOf(r.GetDevice("zero")); Assert.AreEqual(results.Count, 0); results = r.GetDevicesInViewOf(r.GetDevice("two")); Assert.AreEqual(results.Count, 0); results = r.GetDevicesInViewOf(r.GetDevice("three")); Assert.AreEqual(results.Count, 0); foreach (Device d in devices) { d.Orientation = 115.0; } foreach (Device d in devices) { results = r.GetDevicesInViewOf(d); Assert.AreEqual(results.Count, 0); } }
public void VaryingFieldOfViewTest() { Room r = new Room(); List<Device> devices = new List<Device>(); devices.Add((new Device("zero", new Point(5, 0), 0.0, 190.0))); devices.Add((new Device("one", new Point(10, 0), 0.0, 190.0))); devices.Add((new Device("two", new Point(15, 0), 0.0, 190.0))); devices.Add((new Device("three", new Point(10, 5), 0.0, 190.0))); devices.Add((new Device("four", new Point(10, -5), 0.0, 190.0))); foreach (Device d in devices) r.AddDevice(d); List<Device> results = r.GetDevicesInViewOf(r.GetDevice("zero")); Assert.AreEqual(results.Count, 4); results = r.GetDevicesInViewOf(r.GetDevice("one")); Assert.AreEqual(results.Count, 3); results = r.GetDevicesInViewOf(r.GetDevice("two")); Assert.AreEqual(results.Count, 0); results = r.GetDevicesInViewOf(r.GetDevice("three")); Assert.AreEqual(results.Count, 3); results = r.GetDevicesInViewOf(r.GetDevice("four")); Assert.AreEqual(results.Count, 3); }