public void layer_match_is_case_insensitive()
        {
            var mockGameObject = new Mock <GameObject>();

            mockGameObject
            .Setup(m => m.layer)
            .Returns(33);

            LayerMask.fakeLayerString = "some-layer";

            var testObject = new LayerQuery("Some-Layer");

            Assert.True(testObject.Match(mockGameObject.Object));
        }
        public void matches_when_gameobject_is_on_expected_layer()
        {
            var mockGameObject = new Mock <GameObject>();

            mockGameObject
            .Setup(m => m.layer)
            .Returns(15);

            LayerMask.fakeLayerString = "some-layer";

            var testObject = new LayerQuery("some-layer");

            Assert.True(testObject.Match(mockGameObject.Object));
        }
        public void doesnt_match_when_gameobject_doesnt_have_expected_tag()
        {
            var mockGameObject = new Mock <GameObject>();

            mockGameObject
            .Setup(m => m.layer)
            .Returns(55);

            mockGameObject
            .Setup(m => m.tag)
            .Returns(string.Empty);

            LayerMask.fakeLayerString = string.Empty;

            var testObject = new LayerQuery("some-layer");

            Assert.False(testObject.Match(mockGameObject.Object));
        }
        public void matches_when_gameobject_has_expected_tag()
        {
            var mockGameObject = new Mock <GameObject>();

            mockGameObject
            .Setup(m => m.layer)
            .Returns(44);

            mockGameObject
            .Setup(m => m.tag)
            .Returns("some-layer");

            LayerMask.fakeLayerString = string.Empty;

            var testObject = new LayerQuery("some-layer");

            Assert.True(testObject.Match(mockGameObject.Object));
        }
        public void doesnt_match_when_gameobject_is_not_on_expected_layer()
        {
            var mockGameObject = new Mock <GameObject>();

            mockGameObject
            .Setup(m => m.layer)
            .Returns(22);

            mockGameObject
            .Setup(m => m.tag)
            .Returns(string.Empty);

            LayerMask.fakeLayerString = "some-other-layer";

            var testObject = new LayerQuery("some-layer");

            Assert.False(testObject.Match(mockGameObject.Object));
        }
        //Checks to see if there is already a conversation between the device and emulator
        private Conversation _GetConversation()
        {
            if (activeConversation == null)
            {
                LayerQuery query = LayerQuery.InvokeBuilder(Java.Lang.Class.FromType(typeof(Conversation)))
                                   .Predicate(new Predicate(Conversation.Property.Participants,
                                                            Predicate.Operator.EqualTo, new Java.Util.ArrayList(MainActivity.GetAllParticipants())))
                                   .SortDescriptor(new SortDescriptor(Conversation.Property.CreatedAt,
                                                                      SortDescriptor.Order.Descending))
                                   .Build();

                IList results = layerClient.ExecuteQuery(query, LayerQuery.ResultType.Objects);
                if (results != null && results.Count > 0)
                {
                    return(results[0] as Conversation);
                }
            }

            //Returns the active conversation (which is null by default)
            return(activeConversation);
        }
            /**
             * Returns the current maximum Message position within the given Conversation, or
             * Long.MIN_VALUE if no messages are found.
             *
             * @param conversationId Conversation whose maximum Message position to return.
             * @return the current maximum Message position or Long.MIN_VALUE.
             */
            private long GetMaxPosition(Uri conversationId)
            {
                LayerClient layerClient = App.GetLayerClient();

                LayerQuery query = LayerQuery.InvokeBuilder(Java.Lang.Class.FromType(typeof(IMessage)))
                                   .Predicate(new Predicate(MessageProperty.Conversation, Predicate.Operator.EqualTo, conversationId))
                                   .SortDescriptor(new SortDescriptor(MessageProperty.Position, SortDescriptor.Order.Descending))
                                   .Limit(1)
                                   .Build();

                IList <IQueryable> results = layerClient.ExecuteQueryForObjects(query);

                if (results.Count == 0)
                {
                    return(long.MinValue);
                }
                var message = results[0] as IMessage;

                if (message == null)
                {
                    return(long.MinValue);
                }
                return(message.Position);
            }