Exemplo n.º 1
0
        public void Default()
        {
            var sut = new ContextStatistics();

            Assert.AreEqual(0, sut.NumRepositories);
            Assert.AreEqual(0, sut.NumUsers);
            Assert.AreEqual(0, sut.NumSolutions);
            Assert.AreEqual(0, sut.EstimatedLinesOfCode);

            Assert.AreEqual(0, sut.NumTypeDeclTotal);
            Assert.AreEqual(0, sut.NumTypeDeclTopLevel);
            Assert.AreEqual(0, sut.NumTypeDeclNested);
            Assert.AreEqual(0, sut.NumPartial);
            Assert.AreEqual(Sets.NewHashSet <ITypeName>(), sut.UniqueTypeDecl);

            Assert.AreEqual(0, sut.NumClasses);
            Assert.AreEqual(0, sut.NumInterfaces);
            Assert.AreEqual(0, sut.NumDelegates);
            Assert.AreEqual(0, sut.NumStructs);
            Assert.AreEqual(0, sut.NumEnums);
            Assert.AreEqual(0, sut.NumUnusualType);

            Assert.AreEqual(0, sut.NumTypeDeclExtendsOrImplements);
            Assert.AreEqual(0, sut.NumMethodDeclsTotal);
            Assert.AreEqual(0, sut.NumMethodDeclsOverrideOrImplement);
            Assert.AreEqual(0, sut.NumMethodDeclsOverrideOrImplementAsm);
            Assert.AreEqual(Sets.NewHashSet <IMethodName>(), sut.UniqueMethodDeclsOverrideOrImplementAsm);

            Assert.AreEqual(0, sut.NumValidInvocations);
            Assert.AreEqual(0, sut.NumUnknownInvocations);

            Assert.AreEqual(Sets.NewHashSet <IAssemblyName>(), sut.UniqueAssemblies);

            Assert.AreEqual(0, sut.NumAsmDelegateCalls);
            Assert.AreEqual(0, sut.NumAsmCalls);
            Assert.AreEqual(Sets.NewHashSet <IMethodName>(), sut.UniqueAsmMethods);

            Assert.AreEqual(0, sut.NumAsmFieldRead);
            Assert.AreEqual(Sets.NewHashSet <IFieldName>(), sut.UniqueAsmFields);

            Assert.AreEqual(0, sut.NumAsmPropertyRead);
            Assert.AreEqual(Sets.NewHashSet <IPropertyName>(), sut.UniqueAsmProperties);

            Assert.AreNotEqual(0, sut.GetHashCode());
            Assert.AreNotEqual(1, sut.GetHashCode());
        }
Exemplo n.º 2
0
        public void Equality_Default()
        {
            var a = new ContextStatistics();
            var b = new ContextStatistics();

            Assert.AreEqual(a, b);
            Assert.AreEqual(a.GetHashCode(), b.GetHashCode());
        }
Exemplo n.º 3
0
        public void Equality_DifferentNumClassExtendOrImplement()
        {
            var a = new ContextStatistics
            {
                NumTypeDeclExtendsOrImplements = 11
            };
            var b = new ContextStatistics();

            Assert.AreNotEqual(a, b);
            Assert.AreNotEqual(a.GetHashCode(), b.GetHashCode());
        }
Exemplo n.º 4
0
        public void Equality_DifferentNumUnusualType()
        {
            var a = new ContextStatistics
            {
                NumUnusualType = 111
            };
            var b = new ContextStatistics();

            Assert.AreNotEqual(a, b);
            Assert.AreNotEqual(a.GetHashCode(), b.GetHashCode());
        }
Exemplo n.º 5
0
        public void Equality_DifferentNumDelegates()
        {
            var a = new ContextStatistics
            {
                NumDelegates = 8
            };
            var b = new ContextStatistics();

            Assert.AreNotEqual(a, b);
            Assert.AreNotEqual(a.GetHashCode(), b.GetHashCode());
        }
Exemplo n.º 6
0
        public void Equality_DifferentUniqueTypeDecl()
        {
            var a = new ContextStatistics
            {
                UniqueTypeDecl = { Names.Type("T,P") }
            };
            var b = new ContextStatistics();

            Assert.AreNotEqual(a, b);
            Assert.AreNotEqual(a.GetHashCode(), b.GetHashCode());
        }
Exemplo n.º 7
0
        public void Equality_DifferentNumNestedType()
        {
            var a = new ContextStatistics
            {
                NumTypeDeclNested = 5
            };
            var b = new ContextStatistics();

            Assert.AreNotEqual(a, b);
            Assert.AreNotEqual(a.GetHashCode(), b.GetHashCode());
        }
Exemplo n.º 8
0
        public void Equality_DifferentEstimatedLinesOfCode()
        {
            var a = new ContextStatistics
            {
                EstimatedLinesOfCode = 31
            };
            var b = new ContextStatistics();

            Assert.AreNotEqual(a, b);
            Assert.AreNotEqual(a.GetHashCode(), b.GetHashCode());
        }
Exemplo n.º 9
0
        public void Equality_DifferentNumMethodDecls()
        {
            var a = new ContextStatistics
            {
                NumMethodDeclsTotal = 12
            };
            var b = new ContextStatistics();

            Assert.AreNotEqual(a, b);
            Assert.AreNotEqual(a.GetHashCode(), b.GetHashCode());
        }
Exemplo n.º 10
0
        public void Equality_DifferentNumMethodDeclsOverrideOrImplementAsm()
        {
            var a = new ContextStatistics
            {
                NumMethodDeclsOverrideOrImplementAsm = 21
            };
            var b = new ContextStatistics();

            Assert.AreNotEqual(a, b);
            Assert.AreNotEqual(a.GetHashCode(), b.GetHashCode());
        }
Exemplo n.º 11
0
        public void Equality_DifferentUniqueProperties()
        {
            var a = new ContextStatistics
            {
                UniqueAsmProperties = { Names.Property("get set [p:double] [T,P].P()") }
            };
            var b = new ContextStatistics();

            Assert.AreNotEqual(a, b);
            Assert.AreNotEqual(a.GetHashCode(), b.GetHashCode());
        }
Exemplo n.º 12
0
        public void Equality_DifferentUniqueFields()
        {
            var a = new ContextStatistics
            {
                UniqueAsmFields = { Names.Field("[p:int] [T,P]._f") }
            };
            var b = new ContextStatistics();

            Assert.AreNotEqual(a, b);
            Assert.AreNotEqual(a.GetHashCode(), b.GetHashCode());
        }
Exemplo n.º 13
0
        public void Equality_DifferentNumPropertyRead()
        {
            var a = new ContextStatistics
            {
                NumAsmPropertyRead = 16
            };
            var b = new ContextStatistics();

            Assert.AreNotEqual(a, b);
            Assert.AreNotEqual(a.GetHashCode(), b.GetHashCode());
        }
Exemplo n.º 14
0
        public void Equality_DifferentNumCalls()
        {
            var a = new ContextStatistics
            {
                NumAsmCalls = 14
            };
            var b = new ContextStatistics();

            Assert.AreNotEqual(a, b);
            Assert.AreNotEqual(a.GetHashCode(), b.GetHashCode());
        }
Exemplo n.º 15
0
        public void Equality_DifferentUniqueMethods()
        {
            var a = new ContextStatistics
            {
                UniqueAsmMethods = { Names.Method("[p:bool] [T,P].M()") }
            };
            var b = new ContextStatistics();

            Assert.AreNotEqual(a, b);
            Assert.AreNotEqual(a.GetHashCode(), b.GetHashCode());
        }
Exemplo n.º 16
0
        public void Equality_DifferentUniqueAssemblies()
        {
            var a = new ContextStatistics
            {
                UniqueAssemblies = { Names.Assembly("A,1.2.3.4") }
            };
            var b = new ContextStatistics();

            Assert.AreNotEqual(a, b);
            Assert.AreNotEqual(a.GetHashCode(), b.GetHashCode());
        }
Exemplo n.º 17
0
        public void Equality_DifferentNumUnknownInvocations()
        {
            var a = new ContextStatistics
            {
                NumUnknownInvocations = 131
            };
            var b = new ContextStatistics();

            Assert.AreNotEqual(a, b);
            Assert.AreNotEqual(a.GetHashCode(), b.GetHashCode());
        }
Exemplo n.º 18
0
        public void Equality_DifferentNumTotalRegularInvocations()
        {
            var a = new ContextStatistics
            {
                NumValidInvocations = 1311
            };
            var b = new ContextStatistics();

            Assert.AreNotEqual(a, b);
            Assert.AreNotEqual(a.GetHashCode(), b.GetHashCode());
        }
Exemplo n.º 19
0
        public void Equality_DifferentUniqueMethodDeclsOverrideOrImplementAsm()
        {
            var a = new ContextStatistics
            {
                UniqueMethodDeclsOverrideOrImplementAsm = { Names.Method("[p:bool] [T,P].O1()") }
            };
            var b = new ContextStatistics();

            Assert.AreNotEqual(a, b);
            Assert.AreNotEqual(a.GetHashCode(), b.GetHashCode());
        }
Exemplo n.º 20
0
        public void SetValues()
        {
            var sut = new ContextStatistics
            {
                NumRepositories                         = 1,
                NumUsers                                = 2,
                NumSolutions                            = 3,
                EstimatedLinesOfCode                    = 31,
                NumTypeDeclTopLevel                     = 4,
                NumTypeDeclNested                       = 5,
                UniqueTypeDecl                          = { Names.Type("T,P") },
                NumPartial                              = 20,
                NumClasses                              = 6,
                NumInterfaces                           = 7,
                NumDelegates                            = 8,
                NumStructs                              = 9,
                NumEnums                                = 10,
                NumUnusualType                          = 111,
                NumTypeDeclExtendsOrImplements          = 11,
                NumMethodDeclsTotal                     = 12,
                NumMethodDeclsOverrideOrImplement       = 13,
                NumMethodDeclsOverrideOrImplementAsm    = 21,
                UniqueMethodDeclsOverrideOrImplementAsm = { Names.Method("[p:bool] [T,P].O1()") },
                NumValidInvocations                     = 1311,
                NumUnknownInvocations                   = 131,
                UniqueAssemblies                        = { Names.Assembly("A,1.2.3.4") },
                NumAsmDelegateCalls                     = 141,
                NumAsmCalls                             = 14,
                UniqueAsmMethods                        = { Names.Method("[p:bool] [T,P].M()") },
                NumAsmFieldRead                         = 15,
                UniqueAsmFields                         = { Names.Field("[p:int] [T,P]._f") },
                NumAsmPropertyRead                      = 16,
                UniqueAsmProperties                     = { Names.Property("get set [p:double] [T,P].P()") }
            };

            Assert.AreEqual(1, sut.NumRepositories);
            Assert.AreEqual(2, sut.NumUsers);
            Assert.AreEqual(3, sut.NumSolutions);
            Assert.AreEqual(31, sut.EstimatedLinesOfCode);

            Assert.AreEqual(9, sut.NumTypeDeclTotal);
            Assert.AreEqual(4, sut.NumTypeDeclTopLevel);
            Assert.AreEqual(5, sut.NumTypeDeclNested);
            Assert.AreEqual(20, sut.NumPartial);
            Assert.AreEqual(Sets.NewHashSet(Names.Type("T,P")), sut.UniqueTypeDecl);

            Assert.AreEqual(6, sut.NumClasses);
            Assert.AreEqual(7, sut.NumInterfaces);
            Assert.AreEqual(8, sut.NumDelegates);
            Assert.AreEqual(9, sut.NumStructs);
            Assert.AreEqual(10, sut.NumEnums);
            Assert.AreEqual(111, sut.NumUnusualType);

            Assert.AreEqual(11, sut.NumTypeDeclExtendsOrImplements);
            Assert.AreEqual(12, sut.NumMethodDeclsTotal);
            Assert.AreEqual(13, sut.NumMethodDeclsOverrideOrImplement);
            Assert.AreEqual(21, sut.NumMethodDeclsOverrideOrImplementAsm);
            Assert.AreEqual(
                Sets.NewHashSet(Names.Method("[p:bool] [T,P].O1()")),
                sut.UniqueMethodDeclsOverrideOrImplementAsm);

            Assert.AreEqual(1311, sut.NumValidInvocations);
            Assert.AreEqual(131, sut.NumUnknownInvocations);

            Assert.AreEqual(Sets.NewHashSet(Names.Assembly("A,1.2.3.4")), sut.UniqueAssemblies);

            Assert.AreEqual(141, sut.NumAsmDelegateCalls);
            Assert.AreEqual(14, sut.NumAsmCalls);
            Assert.AreEqual(Sets.NewHashSet(Names.Method("[p:bool] [T,P].M()")), sut.UniqueAsmMethods);

            Assert.AreEqual(15, sut.NumAsmFieldRead);
            Assert.AreEqual(Sets.NewHashSet(Names.Field("[p:int] [T,P]._f")), sut.UniqueAsmFields);

            Assert.AreEqual(16, sut.NumAsmPropertyRead);
            Assert.AreEqual(Sets.NewHashSet(Names.Property("get set [p:double] [T,P].P()")), sut.UniqueAsmProperties);

            Assert.AreNotEqual(0, sut.GetHashCode());
            Assert.AreNotEqual(1, sut.GetHashCode());
        }
Exemplo n.º 21
0
        public void Equality_SetValues()
        {
            var a = new ContextStatistics
            {
                NumRepositories                         = 1,
                NumUsers                                = 2,
                NumSolutions                            = 3,
                EstimatedLinesOfCode                    = 31,
                NumTypeDeclTopLevel                     = 4,
                NumTypeDeclNested                       = 5,
                UniqueTypeDecl                          = { Names.Type("T,P") },
                NumPartial                              = 20,
                NumClasses                              = 6,
                NumInterfaces                           = 7,
                NumDelegates                            = 8,
                NumStructs                              = 9,
                NumEnums                                = 10,
                NumUnusualType                          = 111,
                NumTypeDeclExtendsOrImplements          = 11,
                NumMethodDeclsTotal                     = 12,
                NumMethodDeclsOverrideOrImplement       = 13,
                NumMethodDeclsOverrideOrImplementAsm    = 21,
                UniqueMethodDeclsOverrideOrImplementAsm = { Names.Method("[p:bool] [T,P].O1()") },
                NumValidInvocations                     = 1311,
                NumUnknownInvocations                   = 131,
                UniqueAssemblies                        = { Names.Assembly("A,1.2.3.4") },
                NumAsmCalls                             = 14,
                UniqueAsmMethods                        = { Names.Method("[p:bool] [T,P].M()") },
                NumAsmFieldRead                         = 15,
                UniqueAsmFields                         = { Names.Field("[p:int] [T,P]._f") },
                NumAsmPropertyRead                      = 16,
                UniqueAsmProperties                     = { Names.Property("get set [p:double] [T,P].P()") }
            };
            var b = new ContextStatistics
            {
                NumRepositories                         = 1,
                NumUsers                                = 2,
                NumSolutions                            = 3,
                EstimatedLinesOfCode                    = 31,
                NumTypeDeclTopLevel                     = 4,
                NumTypeDeclNested                       = 5,
                UniqueTypeDecl                          = { Names.Type("T,P") },
                NumPartial                              = 20,
                NumClasses                              = 6,
                NumInterfaces                           = 7,
                NumDelegates                            = 8,
                NumStructs                              = 9,
                NumEnums                                = 10,
                NumUnusualType                          = 111,
                NumTypeDeclExtendsOrImplements          = 11,
                NumMethodDeclsTotal                     = 12,
                NumMethodDeclsOverrideOrImplement       = 13,
                NumMethodDeclsOverrideOrImplementAsm    = 21,
                UniqueMethodDeclsOverrideOrImplementAsm = { Names.Method("[p:bool] [T,P].O1()") },
                NumValidInvocations                     = 1311,
                NumUnknownInvocations                   = 131,
                UniqueAssemblies                        = { Names.Assembly("A,1.2.3.4") },
                NumAsmCalls                             = 14,
                UniqueAsmMethods                        = { Names.Method("[p:bool] [T,P].M()") },
                NumAsmFieldRead                         = 15,
                UniqueAsmFields                         = { Names.Field("[p:int] [T,P]._f") },
                NumAsmPropertyRead                      = 16,
                UniqueAsmProperties                     = { Names.Property("get set [p:double] [T,P].P()") }
            };

            Assert.AreEqual(a, b);
            Assert.AreEqual(a.GetHashCode(), b.GetHashCode());
        }