public void RemovesTheReportedTagFromTheCurrentTextFieldInfo(int index)
            {
                var workspace = Substitute.For <IDatabaseWorkspace>();

                workspace.Name.Returns("Some workspace");
                var tag = Substitute.For <IDatabaseTag>();

                tag.Name.Returns("Some tag");
                tag.Id.Returns(1);
                tag.Workspace.Returns(workspace);
                tag.WorkspaceId.Returns(3);
                var tag2 = Substitute.For <IDatabaseTag>();

                tag2.Name.Returns("Some tag 2");
                tag2.Id.Returns(2);
                tag2.Workspace.Returns(workspace);
                tag2.WorkspaceId.Returns(3);
                TargetBinding.SetValue(
                    TextFieldInfo
                    .Empty(1)
                    .AddTag(new TagSuggestion(tag))
                    .AddTag(new TagSuggestion(tag2)));

                EventProvider.RaiseTagDeleted(index);

                TargetBinding.TextFieldInfo.Tags.Single().TagId.Should().Be(index == 0 ? 2 : 1);
            }
Пример #2
0
                // Use reflection to find the named float field
                public static TargetBinding BindTarget(GameObject target, string fieldName)
                {
                    fieldName = fieldName.Trim();
                    TargetBinding binding = new TargetBinding();

                    GameObjectFieldScanner scanner = new GameObjectFieldScanner();

                    scanner.OnLeafField = (fullName, fieldInfo, rootFieldOwner, value) =>
                    {
                        //Debug.Log(fullName);
                        if (fullName == fieldName)
                        {
                            binding.mTargetFieldInfo     = fieldInfo.ToArray();
                            binding.mTargetFieldOwner    = new object[binding.mTargetFieldInfo.Length];
                            binding.mTargetFieldOwner[0] = rootFieldOwner;
                            binding.mInitialValue        = Convert.ToSingle(value);
                            return(false);    // abort scan, we're done
                        }
                        return(true);
                    };
                    scanner.ScanFields(target);

                    if (!binding.IsValid)
                    {
                        Debug.Log(string.Format(
                                      GetFullName(target) + " Reactor: can't find " +
                                      ((fieldName.Length == 0) ? "(empty)" : fieldName)));
                    }

                    return(binding);
                }
Пример #3
0
 public TargetValue(double value, double relativeVariance = 0, double absoluteVariance = 0, double min = 0, double max = 1, double drift = 0, TargetBinding targetBinding = TargetBinding.truncate)
 {
     this.value            = value;
     this.relativeVariance = relativeVariance;
     this.absoluteVariance = absoluteVariance;
     this.min           = min;
     this.max           = max;
     this.drift         = drift;
     this.targetBinding = targetBinding;
 }
            public void RemovesTheProjectInfoFromTheCurrentTextFieldInfo()
            {
                TargetBinding.SetValue(
                    TextFieldInfo
                    .Empty(1)
                    .WithTextAndCursor("Something", 1)
                    .WithProjectAndTaskInfo(1, 2, "some project", "#1e1e1e", 0, ""));

                EventProvider.RaiseProjectDeleted();

                TargetBinding.TextFieldInfo.ProjectId.Should().BeNull();
            }
            public void SetsTheCursorPositionToTheEndOfTheDescription()
            {
                TargetBinding.SetValue(
                    TextFieldInfo
                    .Empty(1)
                    .WithTextAndCursor("Something", 1)
                    .WithProjectAndTaskInfo(1, 2, "some project", "#1e1e1e", 0, ""));

                EventProvider.RaiseProjectDeleted();

                TargetBinding.TextFieldInfo.CursorPosition.Should().Be("Something".Length);
            }
            public void SetsTheCursorToTheEndOfTheDescriptionIfTheTextChangedInTokenRegion()
            {
                const string newDescription = "A ";

                TargetBinding.SetValue(
                    TextFieldInfo
                    .Empty(1)
                    .WithTextAndCursor("A", 0)
                    .WithProjectAndTaskInfo(1, 2, "some project", "#1e1e1e", 0, ""));
                TargetBinding.IsSelectingText             = false;
                TargetBinding.CurrentCursorPosition       = 4;
                TargetBinding.CurrentTimeEntryDescription = newDescription;

                EventProvider.RaiseTextChanged();

                TargetBinding.TextFieldInfo.CursorPosition.Should().Be(newDescription.Length);
            }
 public TheDisposeMethod()
 {
     TargetBinding.Dispose();
 }