Skip to content

Latest commit

 

History

History
1898 lines (1465 loc) · 97.8 KB

File metadata and controls

1898 lines (1465 loc) · 97.8 KB

Code Metrics

This file is dynamically maintained by a bot, please do not edit this by hand. It represents various code metrics, such as cyclomatic complexity, maintainability index, and so on.

StateNet.Tests ✔️

The StateNet.Tests.csproj project file contains:

  • 5 namespaces.
  • 10 named types.
  • 980 total lines of source code.
  • Approximately 255 lines of executable code.
  • The highest cyclomatic complexity is 2 ✔️.
StateNet.Tests.Network.Data ✔️

The StateNet.Tests.Network.Data namespace contains 1 named types.

  • 1 named types.
  • 34 total lines of source code.
  • Approximately 3 lines of executable code.
  • The highest cyclomatic complexity is 1 ✔️.
StateNetwork_Constructor_TestData ✔️
  • The StateNetwork_Constructor_TestData contains 3 members.
  • 32 total lines of source code.
  • Approximately 3 lines of executable code.
  • The highest cyclomatic complexity is 1 ✔️.
Member kind Line number Maintainability index Cyclomatic complexity Depth of inheritance Class coupling Lines of source / executable code
Field 10 81 0 ✔️ 0 7 18 / 1
Method 30 100 1 ✔️ 0 3 4 / 1
Method 35 100 1 ✔️ 0 2 4 / 1

🔗 to StateNetwork_Constructor_TestData class diagram

🔝 back to StateNet.Tests.Network.Data

StateNet.Tests.Engine ✔️

The StateNet.Tests.Engine namespace contains 2 named types.

  • 2 named types.
  • 344 total lines of source code.
  • Approximately 108 lines of executable code.
  • The highest cyclomatic complexity is 1 ✔️.
Engine_Tests ✔️
  • The Engine_Tests contains 15 members.
  • 271 total lines of source code.
  • Approximately 89 lines of executable code.
  • The highest cyclomatic complexity is 1 ✔️.
Member kind Line number Maintainability index Cyclomatic complexity Depth of inheritance Class coupling Lines of source / executable code
Field 17 93 0 ✔️ 0 2 1 / 1
Method 20 77 1 ✔️ 0 6 15 / 4
Method 36 77 1 ✔️ 0 6 15 / 4
Method 53 65 1 ✔️ 0 9 22 / 9
Method 76 61 1 ✔️ 0 9 26 / 11
Method 104 66 1 ✔️ 0 8 20 / 8
Method 125 71 1 ✔️ 0 6 15 / 6
Method 141 59 1 ✔️ 0 8 36 / 12
Method 178 75 1 ✔️ 0 6 13 / 4
Method 192 77 1 ✔️ 0 4 13 / 4
Method 206 75 1 ✔️ 0 6 14 / 4
Method 221 78 1 ✔️ 0 4 13 / 4
Method 235 77 1 ✔️ 0 6 15 / 4
Method 252 69 1 ✔️ 0 6 16 / 7
Method 269 69 1 ✔️ 0 4 17 / 7

🔗 to Engine_Tests class diagram

🔝 back to StateNet.Tests.Engine

TransitionHistory_Tests ✔️
  • The TransitionHistory_Tests contains 5 members.
  • 69 total lines of source code.
  • Approximately 19 lines of executable code.
  • The highest cyclomatic complexity is 1 ✔️.
Member kind Line number Maintainability index Cyclomatic complexity Depth of inheritance Class coupling Lines of source / executable code
Method 13 93 1 ✔️ 0 3 11 / 2
Method 25 73 1 ✔️ 0 6 13 / 5
Method 41 73 1 ✔️ 0 5 15 / 5
Method 55 76 1 ✔️ 0 5 12 / 4
Method 68 81 1 ✔️ 0 5 11 / 3

🔗 to TransitionHistory_Tests class diagram

🔝 back to StateNet.Tests.Engine

StateNet.Tests.Network.Helpers ✔️

The StateNet.Tests.Network.Helpers namespace contains 3 named types.

  • 3 named types.
  • 273 total lines of source code.
  • Approximately 48 lines of executable code.
  • The highest cyclomatic complexity is 2 ✔️.
StateNetwork_Helpers ✔️
  • The StateNetwork_Helpers contains 13 members.
  • 55 total lines of source code.
  • Approximately 24 lines of executable code.
  • The highest cyclomatic complexity is 2 ✔️.
Member kind Line number Maintainability index Cyclomatic complexity Depth of inheritance Class coupling Lines of source / executable code
Property 52 94 2 ✔️ 0 6 3 / 2
Field 12 93 0 ✔️ 0 2 1 / 1
Property 47 94 2 ✔️ 0 6 3 / 2
Property 43 94 2 ✔️ 0 6 3 / 2
Property 39 94 2 ✔️ 0 6 3 / 2
Property 35 94 2 ✔️ 0 6 3 / 2
Property 55 94 2 ✔️ 0 6 3 / 2
Property 59 94 2 ✔️ 0 6 3 / 2
Property 16 90 2 ✔️ 0 4 5 / 2
Property 31 93 2 ✔️ 0 7 3 / 2
Property 21 89 2 ✔️ 0 4 4 / 2
Property 26 89 2 ✔️ 0 5 4 / 2
Field 10 93 0 ✔️ 0 0 1 / 1

🔗 to StateNetwork_Helpers class diagram

🔝 back to StateNet.Tests.Network.Helpers

StateNetworkBuilder_Helpers ✔️
  • The StateNetworkBuilder_Helpers contains 4 members.
  • 15 total lines of source code.
  • Approximately 7 lines of executable code.
  • The highest cyclomatic complexity is 2 ✔️.
Member kind Line number Maintainability index Cyclomatic complexity Depth of inheritance Class coupling Lines of source / executable code
Property 16 100 2 ✔️ 0 2 2 / 2
Field 9 93 0 ✔️ 0 2 1 / 1
Property 12 91 2 ✔️ 0 4 3 / 2
Property 19 100 2 ✔️ 0 2 2 / 2

🔗 to StateNetworkBuilder_Helpers class diagram

🔝 back to StateNet.Tests.Network.Helpers

StateNetworkDictionary_Helpers ✔️
  • The StateNetworkDictionary_Helpers contains 9 members.
  • 197 total lines of source code.
  • Approximately 17 lines of executable code.
  • The highest cyclomatic complexity is 2 ✔️.
Member kind Line number Maintainability index Cyclomatic complexity Depth of inheritance Class coupling Lines of source / executable code
Property 196 100 2 ✔️ 0 4 3 / 2
Field 13 93 0 ✔️ 0 2 1 / 1
Property 168 90 2 ✔️ 0 10 27 / 2
Property 140 90 2 ✔️ 0 10 27 / 2
Property 112 89 2 ✔️ 0 7 27 / 2
Property 76 89 2 ✔️ 0 7 35 / 2
Property 45 89 2 ✔️ 0 7 30 / 2
Property 17 90 2 ✔️ 0 7 27 / 2
Property 200 100 2 ✔️ 0 4 8 / 2

🔗 to StateNetworkDictionary_Helpers class diagram

🔝 back to StateNet.Tests.Network.Helpers

StateNet.Tests.Network ✔️

The StateNet.Tests.Network namespace contains 2 named types.

  • 2 named types.
  • 269 total lines of source code.
  • Approximately 89 lines of executable code.
  • The highest cyclomatic complexity is 1 ✔️.
StateNetwork_Tests ✔️
  • The StateNetwork_Tests contains 9 members.
  • 109 total lines of source code.
  • Approximately 26 lines of executable code.
  • The highest cyclomatic complexity is 1 ✔️.
Member kind Line number Maintainability index Cyclomatic complexity Depth of inheritance Class coupling Lines of source / executable code
Field 16 93 0 ✔️ 0 2 1 / 1
Method 20 81 1 ✔️ 0 9 14 / 3
Method 34 77 1 ✔️ 0 4 11 / 4
Method 46 80 1 ✔️ 0 4 12 / 3
Method 60 80 1 ✔️ 0 4 12 / 3
Method 73 79 1 ✔️ 0 4 11 / 3
Method 85 79 1 ✔️ 0 4 12 / 3
Method 99 81 1 ✔️ 0 4 12 / 3
Method 112 80 1 ✔️ 0 4 11 / 3

🔗 to StateNetwork_Tests class diagram

🔝 back to StateNet.Tests.Network

StateNetworkBuilder_Tests ✔️
  • The StateNetworkBuilder_Tests contains 11 members.
  • 156 total lines of source code.
  • Approximately 63 lines of executable code.
  • The highest cyclomatic complexity is 1 ✔️.
Member kind Line number Maintainability index Cyclomatic complexity Depth of inheritance Class coupling Lines of source / executable code
Field 15 100 0 ✔️ 0 1 1 / 0
Method 19 73 1 ✔️ 0 7 16 / 4
Method 35 88 1 ✔️ 0 4 10 / 2
Method 46 66 1 ✔️ 0 6 15 / 8
Method 62 62 1 ✔️ 0 6 19 / 11
Method 82 62 1 ✔️ 0 6 19 / 11
Method 102 62 1 ✔️ 0 6 19 / 11
Field 12 93 0 ✔️ 0 2 1 / 1
Method 122 65 1 ✔️ 0 6 17 / 9
Method 140 80 1 ✔️ 0 4 11 / 3
Method 152 80 1 ✔️ 0 4 11 / 3

🔗 to StateNetworkBuilder_Tests class diagram

🔝 back to StateNet.Tests.Network

StateNet.Tests.Network.Validator ✔️

The StateNet.Tests.Network.Validator namespace contains 2 named types.

  • 2 named types.
  • 60 total lines of source code.
  • Approximately 7 lines of executable code.
  • The highest cyclomatic complexity is 1 ✔️.
StateNetworkValidator_TestData ✔️
  • The StateNetworkValidator_TestData contains 3 members.
  • 41 total lines of source code.
  • Approximately 3 lines of executable code.
  • The highest cyclomatic complexity is 1 ✔️.
Member kind Line number Maintainability index Cyclomatic complexity Depth of inheritance Class coupling Lines of source / executable code
Field 10 79 0 ✔️ 0 4 27 / 1
Method 39 100 1 ✔️ 0 3 4 / 1
Method 44 100 1 ✔️ 0 2 4 / 1

🔗 to StateNetworkValidator_TestData class diagram

🔝 back to StateNet.Tests.Network.Validator

StateNetworkValidator_Tests ✔️
  • The StateNetworkValidator_Tests contains 1 members.
  • 15 total lines of source code.
  • Approximately 4 lines of executable code.
  • The highest cyclomatic complexity is 1 ✔️.
Member kind Line number Maintainability index Cyclomatic complexity Depth of inheritance Class coupling Lines of source / executable code
Method 11 78 1 ✔️ 0 5 12 / 4

🔗 to StateNetworkValidator_Tests class diagram

🔝 back to StateNet.Tests.Network.Validator

🔝 back to StateNet.Tests

StateNet ⚠️

The StateNet.csproj project file contains:

  • 9 namespaces.
  • 26 named types.
  • 923 total lines of source code.
  • Approximately 290 lines of executable code.
  • The highest cyclomatic complexity is 8 ⚠️.
System.Runtime.CompilerServices ❓

The System.Runtime.CompilerServices namespace contains 1 named types.

  • 1 named types.
  • 4 total lines of source code.
  • Approximately 0 lines of executable code.
  • The highest cyclomatic complexity is 0 ❓.
IsExternalInit ❓
  • The IsExternalInit contains 0 members.
  • 3 total lines of source code.
  • Approximately 0 lines of executable code.
  • The highest cyclomatic complexity is 0 ❓.
Member kind Line number Maintainability index Cyclomatic complexity Depth of inheritance Class coupling Lines of source / executable code

🔗 to IsExternalInit class diagram

🔝 back to System.Runtime.CompilerServices

Aptacode.StateNet.Engine ✔️

The Aptacode.StateNet.Engine namespace contains 1 named types.

  • 1 named types.
  • 73 total lines of source code.
  • Approximately 25 lines of executable code.
  • The highest cyclomatic complexity is 7 ✔️.
StateNetEngine ✔️
  • The StateNetEngine contains 9 members.
  • 71 total lines of source code.
  • Approximately 25 lines of executable code.
  • The highest cyclomatic complexity is 7 ✔️.
Member kind Line number Maintainability index Cyclomatic complexity Depth of inheritance Class coupling Lines of source / executable code
Field 12 100 0 ✔️ 0 1 1 / 0
Field 13 100 0 ✔️ 0 1 1 / 0
Method 17 72 3 ✔️ 0 6 8 / 4
Method 40 53 7 ✔️ 0 13 40 / 19
Property 26 100 2 ✔️ 0 0 1 / 0
Method 35 91 1 ✔️ 0 3 4 / 1
Method 30 93 1 ✔️ 0 2 4 / 1
Event 28 100 0 ✔️ 0 3 1 / 0
Field 15 100 0 ✔️ 0 1 1 / 0

🔗 to StateNetEngine class diagram

🔝 back to Aptacode.StateNet.Engine

Aptacode.StateNet.PatternMatching.Expressions ✔️

The Aptacode.StateNet.PatternMatching.Expressions namespace contains 7 named types.

  • 7 named types.
  • 98 total lines of source code.
  • Approximately 7 lines of executable code.
  • The highest cyclomatic complexity is 1 ✔️.
Matches ✔️
  • The Matches contains 3 members.
  • 7 total lines of source code.
  • Approximately 1 lines of executable code.
  • The highest cyclomatic complexity is 1 ✔️.
Member kind Line number Maintainability index Cyclomatic complexity Depth of inheritance Class coupling Lines of source / executable code
Method 7 100 1 ✔️ 0 3 7 / 0
Method 9 93 1 ✔️ 0 4 4 / 1
Property 7 100 0 ✔️ 0 1 1 / 0

🔗 to Matches class diagram

🔝 back to Aptacode.StateNet.PatternMatching.Expressions

StateCount ✔️
  • The StateCount contains 2 members.
  • 15 total lines of source code.
  • Approximately 1 lines of executable code.
  • The highest cyclomatic complexity is 1 ✔️.
Member kind Line number Maintainability index Cyclomatic complexity Depth of inheritance Class coupling Lines of source / executable code
Method 9 94 1 ✔️ 0 3 7 / 0
Method 17 100 1 ✔️ 0 2 4 / 1

🔗 to StateCount class diagram

🔝 back to Aptacode.StateNet.PatternMatching.Expressions

StateCountFromEnd ✔️
  • The StateCountFromEnd contains 2 members.
  • 12 total lines of source code.
  • Approximately 1 lines of executable code.
  • The highest cyclomatic complexity is 1 ✔️.
Member kind Line number Maintainability index Cyclomatic complexity Depth of inheritance Class coupling Lines of source / executable code
Method 11 92 1 ✔️ 0 6 4 / 0
Method 16 100 1 ✔️ 0 2 4 / 1

🔗 to StateCountFromEnd class diagram

🔝 back to Aptacode.StateNet.PatternMatching.Expressions

StateCountStart ✔️
  • The StateCountStart contains 2 members.
  • 13 total lines of source code.
  • Approximately 1 lines of executable code.
  • The highest cyclomatic complexity is 1 ✔️.
Member kind Line number Maintainability index Cyclomatic complexity Depth of inheritance Class coupling Lines of source / executable code
Method 11 92 1 ✔️ 0 5 5 / 0
Method 17 100 1 ✔️ 0 2 4 / 1

🔗 to StateCountStart class diagram

🔝 back to Aptacode.StateNet.PatternMatching.Expressions

TransitionCount ✔️
  • The TransitionCount contains 2 members.
  • 11 total lines of source code.
  • Approximately 1 lines of executable code.
  • The highest cyclomatic complexity is 1 ✔️.
Member kind Line number Maintainability index Cyclomatic complexity Depth of inheritance Class coupling Lines of source / executable code
Method 9 92 1 ✔️ 0 3 3 / 0
Method 13 100 1 ✔️ 0 2 4 / 1

🔗 to TransitionCount class diagram

🔝 back to Aptacode.StateNet.PatternMatching.Expressions

TransitionCountFromEnd ✔️
  • The TransitionCountFromEnd contains 2 members.
  • 13 total lines of source code.
  • Approximately 1 lines of executable code.
  • The highest cyclomatic complexity is 1 ✔️.
Member kind Line number Maintainability index Cyclomatic complexity Depth of inheritance Class coupling Lines of source / executable code
Method 11 91 1 ✔️ 0 6 5 / 0
Method 17 100 1 ✔️ 0 2 4 / 1

🔗 to TransitionCountFromEnd class diagram

🔝 back to Aptacode.StateNet.PatternMatching.Expressions

TransitionCountFromStart ✔️
  • The TransitionCountFromStart contains 2 members.
  • 13 total lines of source code.
  • Approximately 1 lines of executable code.
  • The highest cyclomatic complexity is 1 ✔️.
Member kind Line number Maintainability index Cyclomatic complexity Depth of inheritance Class coupling Lines of source / executable code
Method 11 91 1 ✔️ 0 5 5 / 0
Method 17 100 1 ✔️ 0 2 4 / 1

🔗 to TransitionCountFromStart class diagram

🔝 back to Aptacode.StateNet.PatternMatching.Expressions

Aptacode.StateNet.Network ⚠️

The Aptacode.StateNet.Network namespace contains 4 named types.

  • 4 named types.
  • 348 total lines of source code.
  • Approximately 128 lines of executable code.
  • The highest cyclomatic complexity is 8 ⚠️.
Connection ✔️
  • The Connection contains 3 members.
  • 1 total lines of source code.
  • Approximately 0 lines of executable code.
  • The highest cyclomatic complexity is 1 ✔️.
Member kind Line number Maintainability index Cyclomatic complexity Depth of inheritance Class coupling Lines of source / executable code
Method 6 100 1 ✔️ 0 2 1 / 0
Property 6 100 0 ✔️ 0 2 1 / 0
Property 6 100 0 ✔️ 0 0 1 / 0

🔗 to Connection class diagram

🔝 back to Aptacode.StateNet.Network

NetworkBuilder ✔️
  • The NetworkBuilder contains 22 members.
  • 208 total lines of source code.
  • Approximately 91 lines of executable code.
  • The highest cyclomatic complexity is 7 ✔️.
Member kind Line number Maintainability index Cyclomatic complexity Depth of inheritance Class coupling Lines of source / executable code
Field 13 100 0 ✔️ 0 3 1 / 0
Field 14 100 0 ✔️ 0 1 1 / 0
Field 15 100 0 ✔️ 0 2 1 / 0
Field 17 100 0 ✔️ 0 0 1 / 0
Field 16 100 0 ✔️ 0 1 1 / 0
Method 19 74 1 ✔️ 0 6 8 / 5
Method 64 72 1 ✔️ 0 6 10 / 5
Method 51 89 1 ✔️ 0 2 5 / 2
Method 119 83 2 ✔️ 0 3 9 / 3
Method 37 89 1 ✔️ 0 2 5 / 2
Method 192 66 4 ✔️ 0 6 17 / 7
Method 75 72 3 ✔️ 0 5 10 / 5
Method 86 74 2 ✔️ 0 5 10 / 5
Method 97 72 3 ✔️ 0 5 10 / 5
Method 108 74 2 ✔️ 0 5 10 / 5
Method 139 50 7 ✔️ 0 15 52 / 27
Property 28 100 2 ✔️ 0 0 1 / 2
Method 57 81 1 ✔️ 0 2 6 / 3
Method 129 83 2 ✔️ 0 3 9 / 3
Method 43 78 1 ✔️ 0 2 7 / 4
Method 210 75 1 ✔️ 0 6 8 / 5
Method 30 81 1 ✔️ 0 2 6 / 3

🔗 to NetworkBuilder class diagram

🔝 back to Aptacode.StateNet.Network

StateNetwork ⚠️
  • The StateNetwork contains 14 members.
  • 120 total lines of source code.
  • Approximately 35 lines of executable code.
  • The highest cyclomatic complexity is 8 ⚠️.
Member kind Line number Maintainability index Cyclomatic complexity Depth of inheritance Class coupling Lines of source / executable code
Method 10 68 4 ✔️ 0 9 19 / 7
Method 81 92 2 ✔️ 0 0 6 / 1
Method 86 97 1 ✔️ 0 0 4 / 1
Method 63 83 1 ✔️ 0 4 4 / 3
Method 68 89 1 ✔️ 0 4 4 / 2
Method 73 100 1 ✔️ 0 4 4 / 1
Method 36 78 3 ✔️ 0 5 9 / 3
Method 46 84 2 ✔️ 0 5 6 / 2
Method 53 80 2 ✔️ 0 5 9 / 3
Method 91 60 8 ⚠️ 0 3 29 / 11
Method 121 94 1 ✔️ 0 1 4 / 1
Property 32 100 2 ✔️ 0 2 1 / 0
Property 34 100 2 ✔️ 0 0 1 / 0
Property 30 100 2 ✔️ 0 3 1 / 0

🔗 to StateNetwork class diagram

🔝 back to Aptacode.StateNet.Network

StateNetworkResult ✔️
  • The StateNetworkResult contains 6 members.
  • 12 total lines of source code.
  • Approximately 2 lines of executable code.
  • The highest cyclomatic complexity is 1 ✔️.
Member kind Line number Maintainability index Cyclomatic complexity Depth of inheritance Class coupling Lines of source / executable code
Method 3 100 1 ✔️ 0 1 12 / 0
Method 5 92 1 ✔️ 0 1 4 / 1
Property 3 100 0 ✔️ 0 0 1 / 0
Property 3 100 0 ✔️ 0 1 1 / 0
Method 10 92 1 ✔️ 0 1 4 / 1
Property 3 100 0 ✔️ 0 0 1 / 0

🔗 to StateNetworkResult class diagram

🔝 back to Aptacode.StateNet.Network

Aptacode.StateNet.PatternMatching ✔️

The Aptacode.StateNet.PatternMatching namespace contains 3 named types.

  • 3 named types.
  • 127 total lines of source code.
  • Approximately 37 lines of executable code.
  • The highest cyclomatic complexity is 7 ✔️.
Pattern ✔️
  • The Pattern contains 10 members.
  • 56 total lines of source code.
  • Approximately 16 lines of executable code.
  • The highest cyclomatic complexity is 7 ✔️.
Member kind Line number Maintainability index Cyclomatic complexity Depth of inheritance Class coupling Lines of source / executable code
Method 11 70 3 ✔️ 0 3 11 / 6
Property 23 100 2 ✔️ 0 2 1 / 0
Field 9 93 0 ✔️ 0 0 1 / 1
Method 36 92 2 ✔️ 0 0 4 / 1
Method 41 97 1 ✔️ 0 0 4 / 1
Method 29 81 1 ✔️ 0 3 8 / 3
Property 24 100 2 ✔️ 0 2 1 / 0
Property 25 100 2 ✔️ 0 0 1 / 0
Method 46 75 7 ✔️ 0 3 9 / 3
Method 56 94 1 ✔️ 0 1 4 / 1

🔗 to Pattern class diagram

🔝 back to Aptacode.StateNet.PatternMatching

PatternMatcher ✔️
  • The PatternMatcher contains 6 members.
  • 42 total lines of source code.
  • Approximately 12 lines of executable code.
  • The highest cyclomatic complexity is 3 ✔️.
Member kind Line number Maintainability index Cyclomatic complexity Depth of inheritance Class coupling Lines of source / executable code
Method 12 96 1 ✔️ 0 1 4 / 1
Method 19 71 3 ✔️ 0 3 16 / 5
Method 36 71 3 ✔️ 0 4 11 / 5
Field 8 93 0 ✔️ 0 1 1 / 1
Field 10 100 0 ✔️ 0 1 1 / 0
Property 17 100 2 ✔️ 0 0 1 / 0

🔗 to PatternMatcher class diagram

🔝 back to Aptacode.StateNet.PatternMatching

StringExtensions ✔️
  • The StringExtensions contains 1 members.
  • 24 total lines of source code.
  • Approximately 9 lines of executable code.
  • The highest cyclomatic complexity is 3 ✔️.
Member kind Line number Maintainability index Cyclomatic complexity Depth of inheritance Class coupling Lines of source / executable code
Method 5 62 3 ✔️ 0 1 21 / 9

🔗 to StringExtensions class diagram

🔝 back to Aptacode.StateNet.PatternMatching

Aptacode.StateNet.Random ✔️

The Aptacode.StateNet.Random namespace contains 2 named types.

  • 2 named types.
  • 15 total lines of source code.
  • Approximately 2 lines of executable code.
  • The highest cyclomatic complexity is 1 ✔️.
IRandomNumberGenerator ✔️
  • The IRandomNumberGenerator contains 1 members.
  • 4 total lines of source code.
  • Approximately 0 lines of executable code.
  • The highest cyclomatic complexity is 1 ✔️.
Member kind Line number Maintainability index Cyclomatic complexity Depth of inheritance Class coupling Lines of source / executable code
Method 5 100 1 ✔️ 0 0 1 / 0

🔗 to IRandomNumberGenerator class diagram

🔝 back to Aptacode.StateNet.Random

SystemRandomNumberGenerator ✔️
  • The SystemRandomNumberGenerator contains 2 members.
  • 9 total lines of source code.
  • Approximately 2 lines of executable code.
  • The highest cyclomatic complexity is 1 ✔️.
Member kind Line number Maintainability index Cyclomatic complexity Depth of inheritance Class coupling Lines of source / executable code
Method 7 94 1 ✔️ 0 2 4 / 1
Field 5 93 0 ✔️ 0 1 1 / 1

🔗 to SystemRandomNumberGenerator class diagram

🔝 back to Aptacode.StateNet.Random

Aptacode.StateNet ✔️

The Aptacode.StateNet namespace contains 1 named types.

  • 1 named types.
  • 17 total lines of source code.
  • Approximately 3 lines of executable code.
  • The highest cyclomatic complexity is 1 ✔️.
Resources ✔️
  • The Resources contains 9 members.
  • 16 total lines of source code.
  • Approximately 3 lines of executable code.
  • The highest cyclomatic complexity is 1 ✔️.
Member kind Line number Maintainability index Cyclomatic complexity Depth of inheritance Class coupling Lines of source / executable code
Field 7 93 0 ✔️ 0 0 1 / 1
Field 8 93 0 ✔️ 0 0 1 / 1
Field 6 93 0 ✔️ 0 0 1 / 1
Method 14 96 1 ✔️ 0 0 4 / 1
Field 12 93 0 ✔️ 0 0 1 / 1
Field 11 93 0 ✔️ 0 0 1 / 1
Field 9 93 0 ✔️ 0 0 1 / 1
Field 5 93 0 ✔️ 0 0 1 / 1
Field 10 93 0 ✔️ 0 0 1 / 1

🔗 to Resources class diagram

🔝 back to Aptacode.StateNet

Aptacode.StateNet.Engine.Transitions ✔️

The Aptacode.StateNet.Engine.Transitions namespace contains 4 named types.

  • 4 named types.
  • 101 total lines of source code.
  • Approximately 31 lines of executable code.
  • The highest cyclomatic complexity is 4 ✔️.
Transition ✔️
  • The Transition contains 4 members.
  • 1 total lines of source code.
  • Approximately 0 lines of executable code.
  • The highest cyclomatic complexity is 1 ✔️.
Member kind Line number Maintainability index Cyclomatic complexity Depth of inheritance Class coupling Lines of source / executable code
Method 3 100 1 ✔️ 0 0 1 / 0
Property 3 100 0 ✔️ 0 0 1 / 0
Property 3 100 0 ✔️ 0 0 1 / 0
Property 3 100 0 ✔️ 0 0 1 / 0

🔗 to Transition class diagram

🔝 back to Aptacode.StateNet.Engine.Transitions

TransitionHistory ✔️
  • The TransitionHistory contains 11 members.
  • 74 total lines of source code.
  • Approximately 27 lines of executable code.
  • The highest cyclomatic complexity is 4 ✔️.
Member kind Line number Maintainability index Cyclomatic complexity Depth of inheritance Class coupling Lines of source / executable code
Field 10 100 0 ✔️ 0 1 1 / 0
Field 13 93 0 ✔️ 0 3 1 / 1
Field 15 93 0 ✔️ 0 1 1 / 1
Field 16 93 0 ✔️ 0 1 1 / 1
Method 18 69 4 ✔️ 0 6 13 / 6
Method 59 63 2 ✔️ 0 7 17 / 10
Method 34 74 2 ✔️ 0 8 9 / 4
Method 49 81 2 ✔️ 0 6 9 / 3
Method 44 100 1 ✔️ 0 3 4 / 1
Method 77 96 1 ✔️ 0 2 4 / 1
Property 32 100 2 ✔️ 0 0 1 / 0

🔗 to TransitionHistory class diagram

🔝 back to Aptacode.StateNet.Engine.Transitions

TransitionHistoryExtensions ✔️
  • The TransitionHistoryExtensions contains 1 members.
  • 8 total lines of source code.
  • Approximately 2 lines of executable code.
  • The highest cyclomatic complexity is 2 ✔️.
Member kind Line number Maintainability index Cyclomatic complexity Depth of inheritance Class coupling Lines of source / executable code
Method 9 83 2 ✔️ 0 2 5 / 2

🔗 to TransitionHistoryExtensions class diagram

🔝 back to Aptacode.StateNet.Engine.Transitions

TransitionResult ✔️
  • The TransitionResult contains 6 members.
  • 12 total lines of source code.
  • Approximately 2 lines of executable code.
  • The highest cyclomatic complexity is 1 ✔️.
Member kind Line number Maintainability index Cyclomatic complexity Depth of inheritance Class coupling Lines of source / executable code
Method 3 100 1 ✔️ 0 1 12 / 0
Method 5 92 1 ✔️ 0 1 4 / 1
Property 3 100 0 ✔️ 0 0 1 / 0
Method 10 92 1 ✔️ 0 1 4 / 1
Property 3 100 0 ✔️ 0 0 1 / 0
Property 3 100 0 ✔️ 0 1 1 / 0

🔗 to TransitionResult class diagram

🔝 back to Aptacode.StateNet.Engine.Transitions

Aptacode.StateNet.Network.Validator ⚠️

The Aptacode.StateNet.Network.Validator namespace contains 3 named types.

  • 3 named types.
  • 140 total lines of source code.
  • Approximately 57 lines of executable code.
  • The highest cyclomatic complexity is 8 ⚠️.
MatchesVisitor ✔️
  • The MatchesVisitor contains 5 members.
  • 29 total lines of source code.
  • Approximately 13 lines of executable code.
  • The highest cyclomatic complexity is 4 ✔️.
Member kind Line number Maintainability index Cyclomatic complexity Depth of inheritance Class coupling Lines of source / executable code
Field 13 93 0 ✔️ 0 2 1 / 1
Field 14 93 0 ✔️ 0 2 1 / 1
Property 16 100 2 ✔️ 0 4 1 / 2
Property 17 100 2 ✔️ 0 4 1 / 2
Method 20 69 4 ✔️ 0 10 19 / 7

🔗 to MatchesVisitor class diagram

🔝 back to Aptacode.StateNet.Network.Validator

StateNetworkExtensions ⚠️
  • The StateNetworkExtensions contains 3 members.
  • 85 total lines of source code.
  • Approximately 40 lines of executable code.
  • The highest cyclomatic complexity is 8 ⚠️.
Member kind Line number Maintainability index Cyclomatic complexity Depth of inheritance Class coupling Lines of source / executable code
Method 59 86 1 ✔️ 0 4 5 / 2
Method 65 62 3 ✔️ 0 6 25 / 11
Method 8 49 8 ⚠️ 0 11 50 / 27

🔗 to StateNetworkExtensions class diagram

🔝 back to Aptacode.StateNet.Network.Validator

StateNetworkValidationResult ✔️
  • The StateNetworkValidationResult contains 5 members.
  • 21 total lines of source code.
  • Approximately 4 lines of executable code.
  • The highest cyclomatic complexity is 1 ✔️.
Member kind Line number Maintainability index Cyclomatic complexity Depth of inheritance Class coupling Lines of source / executable code
Method 5 85 1 ✔️ 0 0 5 / 2
Method 14 94 1 ✔️ 0 0 4 / 1
Property 11 100 1 ✔️ 0 0 1 / 0
Method 19 94 1 ✔️ 0 0 4 / 1
Property 12 100 1 ✔️ 0 0 1 / 0

🔗 to StateNetworkValidationResult class diagram

🔝 back to Aptacode.StateNet.Network.Validator

🔝 back to StateNet

Metric definitions

  • Maintainability index: Measures ease of code maintenance. Higher values are better.
  • Cyclomatic complexity: Measures the number of branches. Lower values are better.
  • Depth of inheritance: Measures length of object inheritance hierarchy. Lower values are better.
  • Class coupling: Measures the number of classes that are referenced. Lower values are better.
  • Lines of source code: Exact number of lines of source code. Lower values are better.
  • Lines of executable code: Approximates the lines of executable code. Lower values are better.

Mermaid class diagrams

StateNetwork_Constructor_TestData class diagram
classDiagram
class StateNetwork_Constructor_TestData{
    -List<object[]> _data
    +GetEnumerator() IEnumerator<object[]>
    +GetEnumerator() IEnumerator
}

Loading
Engine_Tests class diagram
classDiagram
class Engine_Tests{
    -ExpressionFactory<TransitionHistory> _expressions
    +CurrentStateChanges_After_SuccessfulTransition() void
    +CurrentStateDoesNotChange_After_FailedTransition() void
    +Engine_Chooses_CorrectConnection_GivenWeights() void
    +Engine_Chooses_CorrectConnection_GivenWeights_NetworkWithMultipleBranches() void
    +EngineReverseTransition() void
    +EngineSingleTransition() void
    +EngineTransitionHistory() void
    +GetAvailableConnections_Returns_CorrectList_WhenConnectionsExistForCurrentStateAndInput() void
    +GetAvailableConnections_Returns_EmptyList_WhenNoConnectionsExistsForCurrentStateAndInput() void
    +GetAvailableInputs_Returns_CorrectList_WhenInputExistsForCurrentState() void
    +GetAvailableInputs_Returns_EmptyList_WhenNoInputExistsForCurrentState() void
    +InputNotDefined_ReturnsFailTransition() void
    +OnTransition_Invoked_After_SuccessfulTransition() void
    +OnTransition_NotInvoked_After_FailedTransition() void
}

Loading
TransitionHistory_Tests class diagram
classDiagram
class TransitionHistory_Tests{
    +Constructor_Throws_ArgumentNullException_WhenStartStateIsNull() void
    +GetMatches_Returns_CorrectMatches_SingleMatch() void
    +ToString_Returns_CorrectHistory_WithMultipleTransitions() void
    +ToString_Returns_CorrectHistory_WithOneTransition() void
    +ToString_Returns_StartState_WhenNoTransition() void
}

Loading
StateNetwork_Helpers class diagram
classDiagram
class StateNetwork_Helpers{
    -string StateB$
    -ExpressionFactory<TransitionHistory> Expressions$
    +StateNetwork Minimal_Valid_Connected_StaticWeight_Network$
    +StateNetwork State_WithMultiple_Inputs_Network$
    +StateNetwork State_WithMultiple_Inputs_WithPatterns_Network$
    +StateNetwork Minimal_Valid_Connected_StaticWeight_Network_WithPattern$
    +StateNetwork Invalid_StartState_Network$
    +StateNetwork Invalid_ConnectionTargetState_Network$
    +StateNetwork Invalid_ConnectionPatternState_Network$
    +StateNetwork Invalid_ConnectionPatternInput_Network$
    +StateNetwork Empty_Network$
    +StateNetwork Invalid_Unreachable_State_Network$
    +StateNetwork Invalid_UnusableInput_Network$
}

Loading
StateNetworkBuilder_Helpers class diagram
classDiagram
class StateNetworkBuilder_Helpers{
    -ExpressionFactory<TransitionHistory> Expressions$
    +NetworkBuilder Minimal_Valid_Connected_StaticWeight_NetworkBuilder$
    +NetworkBuilder Empty_NetworkBuilder$
    +NetworkBuilder SingleState_NetworkBuilder$
}

Loading
StateNetworkDictionary_Helpers class diagram
classDiagram
class StateNetworkDictionary_Helpers{
    -ExpressionFactory<TransitionHistory> Expressions$
    +Dictionary<string, Dictionary<string, IEnumerable<Connection>>> Minimal_Valid_Connected_StaticWeight_NetworkDictionary$
    +Dictionary<string, Dictionary<string, IEnumerable<Connection>>> Invalid_UnusableInput_NetworkDictionary$
    +Dictionary<string, Dictionary<string, IEnumerable<Connection>>> Invalid_Unreachable_State_NetworkDictionary$
    +Dictionary<string, Dictionary<string, IEnumerable<Connection>>> Invalid_ConnectionTargetState_NetworkDictionary$
    +Dictionary<string, Dictionary<string, IEnumerable<Connection>>> Invalid_ConnectionPatternState_NetworkDictionary$
    +Dictionary<string, Dictionary<string, IEnumerable<Connection>>> Invalid_ConnectionPatternInput_NetworkDictionary$
    +Dictionary<string, Dictionary<string, IEnumerable<Connection>>> Empty_NetworkDictionary$
    +Dictionary<string, Dictionary<string, IEnumerable<Connection>>> SingleState_NetworkDictionary$
}

Loading
StateNetwork_Tests class diagram
classDiagram
class StateNetwork_Tests{
    -ExpressionFactory<TransitionHistory> _expressions
    +Constructor_Throws_Exception_Tests(Type exception, Dictionary<string, Dictionary<string, IEnumerable<Connection>>> networkDictionary, string start) void
    +GetAllInputs_Successfully_Returns_ListOfInputs() void
    +GetConnections_Returns_EmptyList_WhenInputIsNotDefinedForState() void
    +GetConnections_Returns_EmptyList_WhenNoConnectionsExistForStateAndInput() void
    +GetConnections_Returns_List_WhenConnectionsExistForStateAndInput() void
    +GetConnections_Returns_List_WhenInputsAreDefined() void
    +GetInputs_Returns_EmptyList_WhenStateDoesNotExist() void
    +GetInputs_Returns_List_WhenStateDoesExist() void
}

Loading
StateNetworkBuilder_Tests class diagram
classDiagram
class StateNetworkBuilder_Tests{
    -ExpressionFactory<TransitionHistory> Expressions$
    -TransitionHistory _context
    +AddConnection_SuccessfullyAddsConnection_AfterBuild() void
    +Builder_Returns_FailMessage_WhenStartStateIsNotSet() void
    +ClearConnectionsFromState_OfGivenInput_SuccessfullyClearsConnection_AfterBuild() void
    +ClearConnectionsFromState_SuccessfullyClearsConnection_AfterBuild() void
    +ClearConnectionsToState_OfGivenInput_SuccessfullyClearsConnection_AfterBuild() void
    +ClearConnectionsToState_SuccessfullyClearsConnection_AfterBuild() void
    +RemoveInput_SuccesfullyRemovesInput_AfterBuild() void
    +RemoveState_SuccesfullyRemovesState_AfterBuild() void
    +StartState_IsSet_AfterBuild() void
}

Loading
StateNetworkValidator_TestData class diagram
classDiagram
class StateNetworkValidator_TestData{
    -List<object[]> _data
    +GetEnumerator() IEnumerator<object[]>
    +GetEnumerator() IEnumerator
}

Loading
StateNetworkValidator_Tests class diagram
classDiagram
class StateNetworkValidator_Tests{
    +StateNetworkValidator_IsValidTests(StateNetwork stateNetwork, string message, bool isValid) void
}

Loading
IsExternalInit class diagram
classDiagram
class IsExternalInit{
}

Loading
StateNetEngine class diagram
classDiagram
class StateNetEngine{
    -StateNetwork _network
    -IRandomNumberGenerator _randomNumberGenerator
    -TransitionHistory TransitionHistory
    +string CurrentState
    +.ctor(StateNetwork network, IRandomNumberGenerator randomNumberGenerator) StateNetEngine
    +GetAvailableInputs() IEnumerable<string>
    +GetAvailableConnections(string input) IEnumerable<Connection>
    +Apply(string input) TransitionResult
}

Loading
Matches class diagram
classDiagram
IEquatable~Matches~ <|-- Matches : implements
class Matches{
    +Pattern Pattern
    +.ctor(Pattern Pattern) Matches
    +Interpret(TransitionHistory context) int[]
}

Loading
StateCount class diagram
classDiagram
IEquatable~StateCount~ <|-- StateCount : implements
class StateCount{
    +.ctor(string state) StateCount
    +Interpret(TransitionHistory context) int
}

Loading
StateCountFromEnd class diagram
classDiagram
IEquatable~StateCountFromEnd~ <|-- StateCountFromEnd : implements
class StateCountFromEnd{
    +.ctor(string state, int takeLast) StateCountFromEnd
    +Interpret(TransitionHistory context) int
}

Loading
StateCountStart class diagram
classDiagram
IEquatable~StateCountStart~ <|-- StateCountStart : implements
class StateCountStart{
    +.ctor(string state, int takeFirst) StateCountStart
    +Interpret(TransitionHistory context) int
}

Loading
TransitionCount class diagram
classDiagram
IEquatable~TransitionCount~ <|-- TransitionCount : implements
class TransitionCount{
    +.ctor(string state, string input) TransitionCount
    +Interpret(TransitionHistory context) int
}

Loading
TransitionCountFromEnd class diagram
classDiagram
IEquatable~TransitionCountFromEnd~ <|-- TransitionCountFromEnd : implements
class TransitionCountFromEnd{
    +.ctor(string state, string input, int takeLast) TransitionCountFromEnd
    +Interpret(TransitionHistory context) int
}

Loading
TransitionCountFromStart class diagram
classDiagram
IEquatable~TransitionCountFromStart~ <|-- TransitionCountFromStart : implements
class TransitionCountFromStart{
    +.ctor(string state, string input, int takeFirst) TransitionCountFromStart
    +Interpret(TransitionHistory context) int
}

Loading
Connection class diagram
classDiagram
IEquatable~Connection~ <|-- Connection : implements
class Connection{
    +string Target
    +IExpression<int, TransitionHistory> Expression
    +.ctor(string Target, IExpression<int, TransitionHistory> Expression) Connection
}

Loading
NetworkBuilder class diagram
classDiagram
class NetworkBuilder{
    -List<(string, string, Connection)> _connections
    -HashSet<string> _inputs
    -HashSet<Pattern> _patterns
    -HashSet<string> _states
    -string _startState
    +NetworkBuilder New$
    +.ctor() NetworkBuilder
    +SetStartState(string startState) NetworkBuilder
    +AddState(string state) NetworkBuilder
    +RemoveState(string state) NetworkBuilder
    +AddInput(string input) NetworkBuilder
    +RemoveInputOnState(string input, string state) NetworkBuilder
    +AddConnection(string source, string input, string destination, IExpression<int, TransitionHistory> expression) NetworkBuilder
    +ClearConnectionsFromState(string state, string input) NetworkBuilder
    +ClearConnectionsFromState(string state) NetworkBuilder
    +ClearConnectionsToState(string state, string input) NetworkBuilder
    +ClearConnectionsToState(string state) NetworkBuilder
    +AddPattern(params Pattern[] patterns) NetworkBuilder
    +RemovePattern(params Pattern[] patterns) NetworkBuilder
    +CreateStateNetwork() StateNetworkResult
    +Build() StateNetworkResult
    +Reset() void
}

Loading
StateNetwork class diagram
classDiagram
class StateNetwork{
    +Dictionary<string, Dictionary<string, IEnumerable<Connection>>> StateDictionary
    +IEnumerable<Pattern> Patterns
    +string StartState
    +.ctor(string startState, Dictionary<string, Dictionary<string, IEnumerable<Connection>>> stateDictionary, IEnumerable<Pattern> patterns) StateNetwork
    +GetConnections(string state, string input) IEnumerable<Connection>
    +GetConnections(string state) IEnumerable<Connection>
    +GetInputs(string state) IEnumerable<string>
    +GetAllConnections() IEnumerable<Connection>
    +GetAllInputs() IEnumerable<string>
    +GetAllStates() IEnumerable<string>
    +Equals(object obj) bool
    +Equals(StateNetwork other) bool
    +operator ==(StateNetwork lhs, StateNetwork rhs)$ bool
    +operator !=(StateNetwork lhs, StateNetwork rhs)$ bool
}

Loading
StateNetworkResult class diagram
classDiagram
IEquatable~StateNetworkResult~ <|-- StateNetworkResult : implements
class StateNetworkResult{
    +string Message
    +bool Success
    +StateNetwork? Network
    +.ctor(string Message, bool Success, StateNetwork? Network) StateNetworkResult
    +Fail(string message)$ StateNetworkResult
    +Ok(StateNetwork network, string message)$ StateNetworkResult
}

Loading
Pattern class diagram
classDiagram
class Pattern{
    -Pattern Empty$
    +IEnumerable<string?> Elements
    +IEnumerable<int?> HashedElements
    +int Length
    +.ctor(params string[] elements) Pattern
    +GetHashCode() int
    +Equals(object obj) bool
    +Equals(Pattern other) bool
    +operator ==(Pattern lhs, Pattern rhs)$ bool
    +operator !=(Pattern lhs, Pattern rhs)$ bool
}

Loading
PatternMatcher class diagram
classDiagram
class PatternMatcher{
    -List<int> MatchList
    -Pattern Pattern
    +int PatternIndex
    +.ctor(Pattern pattern) PatternMatcher
    +Add(int index, int hashCode) void
    +IsNextInPattern(int hashCode) bool
}

Loading
StringExtensions class diagram
classDiagram
class StringExtensions{
    +GetDeterministicHashCode(string str)$ int
}

Loading
IRandomNumberGenerator class diagram
classDiagram
class IRandomNumberGenerator{
    +Generate(int min, int max)* int
}

Loading
SystemRandomNumberGenerator class diagram
classDiagram
IRandomNumberGenerator <|-- SystemRandomNumberGenerator : implements
class SystemRandomNumberGenerator{
    -Random RandomGenerator$
    +Generate(int min, int max) int
}

Loading
Resources class diagram
classDiagram
class Resources{
    -string UNSET_START_STATE$
    -string INVALID_START_STATE$
    -string INVALID_CONNECTION_TARGET$
    -string INVALID_DEPENDENCY$
    -string UNREACHABLE_STATES$
    -string UNUSABLE_INPUTS$
    -string SUCCESS$
    -string NO_STATES$
    +NO_AVAILABLE_CONNECTION(string currentState, string input)$ string
}

Loading
Transition class diagram
classDiagram
IEquatable~Transition~ <|-- Transition : implements
class Transition{
    +string Source
    +string Input
    +string Destination
    +.ctor(string Source, string Input, string Destination) Transition
}

Loading
TransitionHistory class diagram
classDiagram
class TransitionHistory{
    -StateNetwork _network
    -Dictionary<Pattern, PatternMatcher> _patternMatches
    -List<string> _stringTransitionHistory
    -List<int> _transitionHistory
    +int TransitionCount
    +.ctor(StateNetwork network) TransitionHistory
    +CreateMatchTrackers() void
    +GetTransitionHistory() IReadOnlyList<int>
    +GetMatches(Pattern pattern) IEnumerable<int>
    +Add(string input, string destination) void
    +ToString() string
}

Loading
TransitionHistoryExtensions class diagram
classDiagram
class TransitionHistoryExtensions{
    +TakeLast<T>(IEnumerable<T> source, int count)$ IEnumerable<T>
}

Loading
TransitionResult class diagram
classDiagram
IEquatable~TransitionResult~ <|-- TransitionResult : implements
class TransitionResult{
    +string Message
    +bool Success
    +Transition? Transition
    +.ctor(string Message, bool Success, Transition? Transition) TransitionResult
    +Fail(string message)$ TransitionResult
    +Ok(Transition transition, string message)$ TransitionResult
}

Loading
MatchesVisitor class diagram
classDiagram
class MatchesVisitor{
    -HashSet<string?> _dependencies
    -HashSet<Pattern> _patterns
    +IReadOnlyList<string?> Dependencies
    +IReadOnlyList<Pattern> Patterns
    +Visit<TType>(TerminalListExpression<TType, TransitionHistory> expression) void
}

Loading
StateNetworkExtensions class diagram
classDiagram
class StateNetworkExtensions{
    +IsValid(StateNetwork network)$ StateNetworkValidationResult
    +GetUsableInputs(StateNetwork network, string state, IEnumerable<string> inputs)$ IEnumerable<string>
    +GetVisitedStatesAndUsableInputs(StateNetwork network, string state, HashSet<string> visitedStates, HashSet<string> usableInputs)$ void
}

Loading
StateNetworkValidationResult class diagram
classDiagram
class StateNetworkValidationResult{
    +string Message
    +bool Success
    +.ctor(string message, bool success) StateNetworkValidationResult
    +Fail(string message)$ StateNetworkValidationResult
    +Ok(string message)$ StateNetworkValidationResult
}

Loading

This file is maintained by a bot.