Ejemplo n.º 1
0
        public void DeviceCRUDTest()
        {
            var beacon = new IBeaconDevice
            {
                Major         = 13,
                Minor         = 3,
                ProximityUUID = Guid.NewGuid().ToString(),
                Name          = "bacon"
            };

            var createdId = RunSync(() => _instance.CreateDeviceAsync(beacon)).Id;

            var device = _instance.Devices.FirstOrDefault(d => d.Id == createdId) as IBeaconDevice;

            Assert.NotNull(device);

            Assert.AreEqual(createdId, device.Id);
            Assert.AreEqual(beacon.Major, device.Major);
            Assert.AreEqual(beacon.Minor, device.Minor);
            Assert.AreEqual(beacon.ProximityUUID, device.ProximityUUID);

            RunSync(() => _instance.DeleteDeviceAsync(createdId));

            var deletedDevice = _instance.Devices.FirstOrDefault(d => d.Id == createdId);

            Assert.IsNull(deletedDevice);
        }
Ejemplo n.º 2
0
        public void GetMatchForOtherDevice()
        {
            var _beacon = new IBeaconDevice
            {
                Major         = 13,
                Minor         = 3,
                ProximityUUID = Guid.NewGuid().ToString(),
                Name          = "bacon"
            };

            var(beacon, _monitor) = RunSync(() => _instance.CreateDeviceAndStartListening(_beacon, MatchChannel.Polling));

            RunSync(() => _instance.UpdateLocationAsync(new Location
            {
                Latitude  = 54.414662,
                Longitude = 18.625498
            }, beacon));

            RunSync(_monitor.Start);
            List <Match> matches = null;

            _monitor.MatchReceived += (object sender, MatchReceivedEventArgs e) => matches = e.Matches;

            RunSync(() => _instance.CreateSubscriptionAsync(sub, beacon));

            var   testMatch = SetupTestMatch();
            Match match     = null;

            do
            {
                if (matches != null)
                {
                    match = matches.Find(m => m.Subscription.DeviceId == beacon.Id);
                }
            } while (match == null);

            Assert.NotNull(match);
        }