예제 #1
0
            public void ReturnsFalseForWrongChildren(TmNativeDefs.IfaceServer ifaceServer)
            {
                Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

                var fixture = new Fixture();

                fixture.Behaviors.OfType <ThrowingRecursionBehavior>().ToList()
                .ForEach(b => fixture.Behaviors.Remove(b));
                fixture.Behaviors.Add(new OmitOnRecursionBehavior());

                var children1 = new List <TmServer> {
                    fixture.Create <TmServer>(), fixture.Create <TmServer>()
                };
                var children2 = new List <TmServer> {
                    fixture.Create <TmServer>()
                };

                var tmServer1 = TmServer.CreateFromIfaceServer(ifaceServer);
                var tmServer2 = TmServer.CreateFromIfaceServer(ifaceServer);

                tmServer1.Children.AddRange(children1);
                tmServer2.Children.AddRange(children2);

                var result = tmServer1 == tmServer2;

                result.Should().Be(false);
            }
예제 #2
0
            public void ReturnsTrueForNullWhenNull()
            {
                TmServer tmServer = null;

                var result = tmServer == null;

                result.Should().Be(true);
            }
예제 #3
0
            public void ReturnsTrue(TmNativeDefs.IfaceServer ifaceServer)
            {
                Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
                var tmServer1 = TmServer.CreateFromIfaceServer(ifaceServer);
                var tmServer2 = TmServer.CreateFromIfaceServer(ifaceServer);

                var result = tmServer1.Equals(tmServer2);

                result.Should().Be(true);
            }
예제 #4
0
            public void ReturnFalseForNull(TmNativeDefs.IfaceServer ifaceServer)
            {
                Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

                var tmServer = TmServer.CreateFromIfaceServer(ifaceServer);

                var result = tmServer.Equals(null);

                result.Should().Be(false);
            }
예제 #5
0
            public void ReturnsFalseForWrongComment(byte[] comment, TmNativeDefs.IfaceServer ifaceServer)
            {
                Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

                var tmServer1 = TmServer.CreateFromIfaceServer(ifaceServer);

                ifaceServer.Comment = comment;
                var tmServer2 = TmServer.CreateFromIfaceServer(ifaceServer);

                var result = tmServer1.Equals(tmServer2);

                result.Should().Be(false);
            }
예제 #6
0
            public void ReturnsFalseForWrongResState(TmNativeDefs.IfaceServer ifaceServer)
            {
                Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

                var tmServer1 = TmServer.CreateFromIfaceServer(ifaceServer);

                ifaceServer.ResState += 1;
                var tmServer2 = TmServer.CreateFromIfaceServer(ifaceServer);

                var result = tmServer1 == tmServer2;

                result.Should().Be(false);
            }
예제 #7
0
            public void ReturnsFalseForWrongCreationTime(int creationTimeStamp, TmNativeDefs.IfaceServer ifaceServer)
            {
                Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

                var tmServer1 = TmServer.CreateFromIfaceServer(ifaceServer);

                ifaceServer.CreationTime = creationTimeStamp;
                var tmServer2 = TmServer.CreateFromIfaceServer(ifaceServer);

                var result = tmServer1.Equals(tmServer2);

                result.Should().Be(false);
            }
예제 #8
0
            public void ReturnsFalseForWrongParentProcessId(TmNativeDefs.IfaceServer ifaceServer)
            {
                Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

                var tmServer1 = TmServer.CreateFromIfaceServer(ifaceServer);

                ifaceServer.Ppid += 1;
                var tmServer2 = TmServer.CreateFromIfaceServer(ifaceServer);

                var result = tmServer1.Equals(tmServer2);

                result.Should().Be(false);
            }
예제 #9
0
            public void ReturnsFalseForWrongUsers(TmNativeDefs.IfaceServer ifaceServer)
            {
                Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

                var fixture = new Fixture();

                var tmUsers1 = new List <TmUser> {
                    fixture.Create <TmUser>(), fixture.Create <TmUser>()
                };
                var tmUsers2 = new List <TmUser> {
                    fixture.Create <TmUser>()
                };

                var tmServer1 = TmServer.CreateFromIfaceServer(ifaceServer);
                var tmServer2 = TmServer.CreateFromIfaceServer(ifaceServer);

                tmServer1.Users.AddRange(tmUsers1);
                tmServer2.Users.AddRange(tmUsers2);

                var result = tmServer1 == tmServer2;

                result.Should().Be(false);
            }
예제 #10
0
            public void SetsCorrectValues(byte[] name,
                                          byte[] comment,
                                          int creationTime,
                                          uint state,
                                          string expectedName,
                                          string expectedComment)
            {
                Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

                var ifaceServer = A.Dummy <TmNativeDefs.IfaceServer>();

                ifaceServer.Name         = name;
                ifaceServer.Comment      = comment;
                ifaceServer.State        = state;
                ifaceServer.CreationTime = creationTime;

                var tmServer = TmServer.CreateFromIfaceServer(ifaceServer);

                tmServer.Name.Should().Be(expectedName);
                tmServer.Comment.Should().Be(expectedComment);
                tmServer.State.Should().Be(state);
                tmServer.CreationTime.Should().Be(DateUtil.GetDateTimeFromTimestamp(creationTime));
            }
예제 #11
0
        public static TmServer FindServerByHash(this IEnumerable <TmServer> tree, TmServer comparison)
        {
            if (comparison == null)
            {
                return(null);
            }

            foreach (var root in tree)
            {
                if (root.GetHashCode() == comparison.GetHashCode())
                {
                    return(root);
                }

                var child = root.Children.FindServerByHash(comparison);
                if (child != null)
                {
                    return(child);
                }
            }

            return(null);
        }