Beispiel #1
0
        public IEnumerator TryGet_ReturnsFalse_ForNonMatchingLabel_WithOtherMatches()
        {
            var label = "label";
            //only way to guarantee registration order is to run frames.
            //We want to ensure labeledPlane is registered before labeledPlane2 so that the cache does not early out
            var labeledPlane = TestHelper.CreateLabeledPlane(label: "foo");

            AddTestObjectForCleanup(labeledPlane);
            yield return(null);

            var labeledPlane2 = TestHelper.CreateLabeledPlane(label: label);

            AddTestObjectForCleanup(labeledPlane2);
            var config = new IdLabelConfig();

            config.Init(new[]
            {
                new IdLabelEntry()
                {
                    id    = 1,
                    label = label
                },
            });
            using (var cache = new LabelEntryMatchCache(config))
            {
                //allow label to be registered
                yield return(null);

                Assert.IsFalse(cache.TryGetLabelEntryFromInstanceId(labeledPlane.GetComponent <Labeling>().instanceId, out var labelEntry, out var index));
                Assert.AreEqual(-1, index);
                Assert.AreEqual(default(IdLabelEntry), labelEntry);
            }
        }
Beispiel #2
0
        public IEnumerator TryGet_ReturnsTrue_ForMatchingLabel()
        {
            var label        = "label";
            var labeledPlane = TestHelper.CreateLabeledPlane(label: label);

            AddTestObjectForCleanup(labeledPlane);
            var config = new IdLabelConfig();

            config.Init(new[]
            {
                new IdLabelEntry()
                {
                    id    = 1,
                    label = label
                },
            });
            using (var cache = new LabelEntryMatchCache(config))
            {
                //allow label to be registered
                yield return(null);

                Assert.IsTrue(cache.TryGetLabelEntryFromInstanceId(labeledPlane.GetComponent <Labeling>().instanceId, out var labelEntry, out var index));
                Assert.AreEqual(0, index);
                Assert.AreEqual(config.labelEntries[0], labelEntry);
            }
        }