Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
117 commits
Select commit Hold shift + click to select a range
f4d52ad
added Comments
SpocWeb Aug 3, 2024
e6ba4c9
Factory Method Edge.Create
SpocWeb Aug 4, 2024
1379cac
Collection Excpressions
SpocWeb Aug 4, 2024
1e44a1a
using IEdge everywhere
SpocWeb Aug 5, 2024
7cd4a6a
upgrade to latest NUnit 3
SpocWeb Aug 5, 2024
d0e67dd
using TestCaseSource for GetAdjacencyGraphs_All
SpocWeb Aug 5, 2024
6d30bfa
fixed Assertions after upgraded to NUnit 3.14
SpocWeb Aug 9, 2024
db8c178
added explanation
SpocWeb Aug 10, 2024
991ac91
fixed unit Tests
SpocWeb Aug 14, 2024
ad652f1
split Unit Tests for Transitivity and added Check for Idempotency.
SpocWeb Aug 15, 2024
c7ba794
fixed compile errors
SpocWeb Aug 15, 2024
e22617c
converted back to array expression
SpocWeb Aug 15, 2024
70fb383
added Description for Transitive Algorithms
SpocWeb Aug 15, 2024
3c56917
moved redundant Methods to Extension Methods
SpocWeb Aug 17, 2024
cacf787
added IReadOnlyList and made EdgeList only variant on the Edge Type.
SpocWeb Aug 18, 2024
2ac9c7c
merged to Factory Method IEdge Edge.Create(source,target)
SpocWeb Aug 19, 2024
12d61f3
Increased to V3.0 due to breaking Changes
SpocWeb Aug 19, 2024
bb3eaed
resolved Conflicts
SpocWeb Aug 21, 2024
c571e29
fixed Unit-Tests
SpocWeb Aug 20, 2024
ee5c2e1
fixed remaining Unit Tests
SpocWeb Aug 20, 2024
07e285b
partially undone last fix
SpocWeb Aug 20, 2024
e57f41f
removed double Negation: CyclicGraphException
SpocWeb Aug 20, 2024
7d3c51e
added File Name to Graph
SpocWeb Aug 20, 2024
08b389b
allow for cycles in unit test
SpocWeb Aug 20, 2024
5a908ab
added Id to all Test Graphs to get more granular Results
SpocWeb Aug 20, 2024
c5c5a9d
undone Attribute Parameters
SpocWeb Aug 21, 2024
6c2f87a
briefer parameters
SpocWeb Aug 21, 2024
58b9714
simplified List Parameters
SpocWeb Aug 22, 2024
31dfd21
not uploading TestResults to AppVeyor
SpocWeb Aug 22, 2024
52d28f1
added documentation
SpocWeb Aug 23, 2024
23f88f4
private Edge Constructor
SpocWeb Aug 24, 2024
95fbf2a
simplified Generics
SpocWeb Aug 24, 2024
b4cd21e
added IReadOnlyDictionary
SpocWeb Aug 24, 2024
399ed45
compiles but 552 tests fail
SpocWeb Aug 24, 2024
40d131a
bugfix
SpocWeb Aug 24, 2024
3f99489
install choco docfx
SpocWeb Aug 24, 2024
d63b59c
deprecated TryGetToken
SpocWeb Aug 24, 2024
fdfa7bf
renamed TryGetEdges to GetEdges in Tests
SpocWeb Aug 24, 2024
9aacf62
obsolete TryGetOutEdges
SpocWeb Aug 24, 2024
c87bc3f
removed TryGetOutEdges
SpocWeb Aug 25, 2024
992cb1b
renamed TryGet Methods
SpocWeb Aug 25, 2024
ff6c25a
renamed
SpocWeb Aug 25, 2024
aeb5481
removed TryGetInEdges
SpocWeb Aug 25, 2024
0e7dcd4
renamed TryGetInEdges
SpocWeb Aug 25, 2024
eeb5ee0
renames
SpocWeb Aug 25, 2024
dd8a1a6
TryFunc<,IEnumerable> => Func
SpocWeb Aug 25, 2024
3a98a36
cleanup
SpocWeb Aug 25, 2024
9f43008
eliminated TryGet
SpocWeb Aug 25, 2024
8966e90
removed all TryGetEdges
SpocWeb Aug 25, 2024
0309ce2
simplified Code
SpocWeb Aug 28, 2024
eca3f39
fixed compile errors
SpocWeb Aug 30, 2024
61a1e92
fixed Unit Tests
SpocWeb Aug 30, 2024
770acd4
using EqualityComparer on Vertices.
SpocWeb Aug 31, 2024
827a968
refactored
SpocWeb Sep 1, 2024
d5fce98
fixed comment
SpocWeb Sep 1, 2024
860e614
refactored
SpocWeb Sep 1, 2024
8723b31
bugfixes
SpocWeb Sep 1, 2024
4b14da4
disabled some tests due to deserialization Problems introduced in Com…
SpocWeb Sep 1, 2024
fb6d57a
fixed comments
SpocWeb Sep 1, 2024
e09067e
simplified IsEulerianGraphAlgorithm
SpocWeb Sep 1, 2024
f07ee63
simplified EulerianGraphAlgorithm
SpocWeb Sep 1, 2024
f6a55f3
to extension Methods
SpocWeb Sep 1, 2024
2b92bca
cleanup
SpocWeb Sep 1, 2024
3742854
extracted GetPermutations
SpocWeb Sep 30, 2024
12edb59
added GraphExtensions.IsHamiltonian
SpocWeb Sep 30, 2024
e03736b
added Documentation
SpocWeb Oct 1, 2024
c1488b9
fixed remaining Unit Tests
SpocWeb Aug 20, 2024
7798dbe
fixed Unit-Tests for ArgumentNullException
SpocWeb Jan 16, 2025
03cc017
rename
SpocWeb Jan 17, 2025
28b5ad7
renamed
SpocWeb Jan 17, 2025
6572d5f
Fixed the ComputeComponentCount Method
SpocWeb Jan 18, 2025
f15e021
ignored failing tests
SpocWeb Jan 18, 2025
fd4c299
bugfix: passing 'areVerticesEqual' so that
SpocWeb Jan 21, 2025
beec3aa
added Descriptions
SpocWeb Jan 21, 2025
9fb219c
CreateDepthFirstSearchAlgorithm
SpocWeb Jan 21, 2025
8d10647
rename
SpocWeb Jan 21, 2025
eb6706d
fixed compilation
SpocWeb Jan 21, 2025
a85a50a
fixed unit tests
SpocWeb Jan 21, 2025
84c8574
extension Method
SpocWeb Jan 21, 2025
8f66865
CreateTarjanOfflineLeastCommonAncestorAlgorithm
SpocWeb Jan 22, 2025
0a4c83e
CreateAStarShortestPathAlgorithm
SpocWeb Jan 22, 2025
0a49ce4
CreateBellmanFordShortestPathAlgorithm
SpocWeb Jan 22, 2025
d4ac6c9
Cleanup CreateBellmanFordShortestPathAlgorithm
SpocWeb Jan 23, 2025
0d2361b
CreateDijkstraShortestPathAlgorithm
SpocWeb Jan 23, 2025
ce41f75
graph.CreateYenShortestPathsAlgorithm(
SpocWeb Jan 23, 2025
6ec814d
CreateReversedBidirectionalGraph
SpocWeb Jan 23, 2025
ca7ab30
CreateHoffmanPavleyRankedShortestPathAlgorithm
SpocWeb Jan 23, 2025
6ba6473
CreateHamiltonianGraphAlgorithm
SpocWeb Jan 23, 2025
ae47947
reordered optional Host as last Arg
SpocWeb Jan 24, 2025
44428b0
reordered Parameters
SpocWeb Jan 24, 2025
aee0b7f
fixed tests after signature refactoring CreateCyclePoppingRandomTreeA…
SpocWeb Jan 24, 2025
a6ca93d
CreateCyclePoppingRandomTreeAlgorithm
SpocWeb Jan 24, 2025
9e35393
CreateUndirectedDijkstraShortestPathAlgorithm
SpocWeb Jan 24, 2025
6974154
CreateEulerianTrailAlgorithm
SpocWeb Jan 24, 2025
93343b6
comments
SpocWeb Jan 24, 2025
06035ac
CreateIncrementalConnectedComponentsAlgorithm
SpocWeb Jan 24, 2025
584b974
CreateFloydWarshallAllShortestPathAlgorithm
SpocWeb Jan 24, 2025
2b831a8
CreateFloydWarshallAllShortestPathAlgorithm
SpocWeb Jan 24, 2025
32eedb5
CreateUndirectedBreadthFirstSearchAlgorithm
SpocWeb Jan 24, 2025
1dcd493
CreateDijkstraShortestPathAlgorithm
SpocWeb Jan 24, 2025
d954bf0
CreateBestFirstFrontierSearchAlgorithm
SpocWeb Jan 25, 2025
cb40b83
CreateImplicitEdgeDepthFirstSearchAlgorithm
SpocWeb Jan 25, 2025
5d3dcce
CreateImplicitEdgeDepthFirstSearchAlgorithm
SpocWeb Jan 25, 2025
3d01072
CreateEdgeDepthFirstSearchAlgorithm
SpocWeb Jan 25, 2025
ee9bb5d
CreateEdgeDepthFirstSearchAlgorithm
SpocWeb Jan 25, 2025
18a435c
CreateImplicitDepthFirstSearchAlgorithm
SpocWeb Jan 25, 2025
fb7b903
CreateEdgeDepthFirstSearchAlgorithm
SpocWeb Jan 25, 2025
dc98aa8
comments
SpocWeb Jan 25, 2025
cf96237
CreateAllVerticesGraphAugmentorAlgorithm
SpocWeb Jan 25, 2025
fccf637
CreateCloneableVertexGraphExplorerAlgorithm
SpocWeb Jan 25, 2025
38d9fe6
CreateCloneableVertexGraphExplorerAlgorithm
SpocWeb Jan 25, 2025
c2ed4cd
CreateKruskalMinimumSpanningTreeAlgorithm
SpocWeb Jan 25, 2025
eba2fdc
CreatePrimMinimumSpanningTreeAlgorithm(
SpocWeb Jan 25, 2025
4bf2ec4
ComputeSourceFirstTopologicalSort
SpocWeb Jan 25, 2025
f3214a2
CreateTransitiveClosureAlgorithm
SpocWeb Jan 25, 2025
a48282f
bugfix
SpocWeb Jan 25, 2025
9e30222
added unit tests for HabrTransform
SpocWeb Mar 23, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
29 changes: 21 additions & 8 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -1,12 +1,25 @@
root = true
# To learn more about .editorconfig see https://aka.ms/editorconfigdocs

###############################
# Core EditorConfig Options #
###############################
root = true
# All files
[*]
indent_style = space

# Microsoft .NET properties
csharp_style_var_elsewhere = false:suggestion
csharp_style_var_for_built_in_types = false:suggestion
csharp_style_var_when_type_is_apparent = true:suggestion

# ReSharper properties
resharper_use_roslyn_logic_for_evident_types = false

# ReSharper inspection severities
resharper_suggest_var_or_type_built_in_types_highlighting = hint
resharper_suggest_var_or_type_elsewhere_highlighting = hint
resharper_suggest_var_or_type_simple_types_highlighting = hint
# Code files
[*.{h,hpp,inl,c,cpp,cs,csx,vb,vbx}]
indent_size = 4
Expand Down Expand Up @@ -53,14 +66,14 @@ dotnet_style_prefer_conditional_expression_over_return = true:silent
# Naming Conventions #
###############################
# Style Definitions
dotnet_naming_style.pascal_case_style.capitalization = pascal_case
dotnet_naming_style.pascal_case_style.capitalization = pascal_case
# Use PascalCase for constant fields
dotnet_naming_rule.constant_fields_should_be_pascal_case.severity = suggestion
dotnet_naming_rule.constant_fields_should_be_pascal_case.symbols = constant_fields
dotnet_naming_rule.constant_fields_should_be_pascal_case.style = pascal_case_style
dotnet_naming_symbols.constant_fields.applicable_kinds = field
dotnet_naming_symbols.constant_fields.applicable_accessibilities = *
dotnet_naming_symbols.constant_fields.required_modifiers = const
dotnet_naming_rule.constant_fields_should_be_pascal_case.symbols = constant_fields
dotnet_naming_rule.constant_fields_should_be_pascal_case.style = pascal_case_style
dotnet_naming_symbols.constant_fields.applicable_kinds = field
dotnet_naming_symbols.constant_fields.applicable_accessibilities = *
dotnet_naming_symbols.constant_fields.required_modifiers = const

###############################
# C# Coding Conventions #
Expand Down Expand Up @@ -121,4 +134,4 @@ csharp_space_between_method_call_name_and_opening_parenthesis = false
csharp_space_between_method_call_empty_parameter_list_parentheses = false
# Wrapping preferences
csharp_preserve_single_line_statements = true
csharp_preserve_single_line_blocks = true
csharp_preserve_single_line_blocks = true
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ src/DotParser/res.dot
*.user
*.userosscache
*.sln.docstates
.obsidian

# Build results
[Dd]ebug/
Expand Down
35 changes: 25 additions & 10 deletions QuikGraph.sln
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.30011.22
# Visual Studio Version 17
VisualStudioVersion = 17.11.35208.52
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Misc", "Misc", "{FAAD5B1C-1217-48D6-B1EF-7CAC0440D6A4}"
ProjectSection(SolutionItems) = preProject
Expand Down Expand Up @@ -44,14 +44,6 @@ EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "QuikGraph.Petri.Tests", "tests\QuikGraph.Petri.Tests\QuikGraph.Petri.Tests.csproj", "{CD993F58-A275-4E67-9F8E-BAF3BE6F21B6}"
EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
src\QuikGraph.CommonInternals\QuikGraph.CommonInternals.projitems*{69dfd21c-d3a3-4764-b3f0-2fdf612e1f65}*SharedItemsImports = 5
src\QuikGraph.CommonInternals\QuikGraph.CommonInternals.projitems*{908fe868-7abe-4fe8-bfa6-c5e6572b780d}*SharedItemsImports = 5
src\QuikGraph.CommonInternals\QuikGraph.CommonInternals.projitems*{7160ddab-12b0-491f-9a79-bf3b5e0cd872}*SharedItemsImports = 5
tests\QuikGraph.Serialization.Tests.CommonInternals\QuikGraph.Serialization.Tests.CommonInternals.projitems*{61df76e1-de2b-4df1-ad5f-89939ab06693}*SharedItemsImports = 5
tests\QuikGraph.Serialization.Tests.CommonInternals\QuikGraph.Serialization.Tests.CommonInternals.projitems*{8adddae1-fa2c-4637-c67f-8743beb126cd}*SharedItemsImports = 5
tests\QuikGraph.Serialization.Tests.CommonInternals\QuikGraph.Serialization.Tests.CommonInternals.projitems*{98e60a67-c326-4b83-8eff-b77e9c651945}*SharedItemsImports = 13
EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
Expand Down Expand Up @@ -129,4 +121,27 @@ Global
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {C26EFBC1-5149-4422-AFD3-172667AA018F}
EndGlobalSection
GlobalSection(SharedMSBuildProjectFiles) = preSolution
src\QuikGraph.CommonInternals\QuikGraph.CommonInternals.projitems*{1c978139-80bd-4081-94cc-14cbaeefeb24}*SharedItemsImports = 5
src\QuikGraph.CommonInternals\QuikGraph.CommonInternals.projitems*{20713f1d-74e0-44e0-a533-0d3dc30d3898}*SharedItemsImports = 5
tests\QuikGraph.Tests.CommonInternals\QuikGraph.Tests.CommonInternals.projitems*{52f3ffcf-1638-48d8-b124-0347c723f2fc}*SharedItemsImports = 13
tests\QuikGraph.Serialization.Tests.CommonInternals\QuikGraph.Serialization.Tests.CommonInternals.projitems*{61df76e1-de2b-4df1-ad5f-89939ab06693}*SharedItemsImports = 5
tests\QuikGraph.Tests.CommonInternals\QuikGraph.Tests.CommonInternals.projitems*{61df76e1-de2b-4df1-ad5f-89939ab06693}*SharedItemsImports = 5
src\QuikGraph.CommonInternals\QuikGraph.CommonInternals.projitems*{69dfd21c-d3a3-4764-b3f0-2fdf612e1f65}*SharedItemsImports = 5
tests\QuikGraph.Tests.CommonInternals\QuikGraph.Tests.CommonInternals.projitems*{69dfd21c-d3a3-4764-b3f0-2fdf612e1f65}*SharedItemsImports = 5
src\QuikGraph.CommonInternals\QuikGraph.CommonInternals.projitems*{7160ddab-12b0-491f-9a79-bf3b5e0cd872}*SharedItemsImports = 5
tests\QuikGraph.Tests.CommonInternals\QuikGraph.Tests.CommonInternals.projitems*{7160ddab-12b0-491f-9a79-bf3b5e0cd872}*SharedItemsImports = 5
tests\QuikGraph.Serialization.Tests.CommonInternals\QuikGraph.Serialization.Tests.CommonInternals.projitems*{8adddae1-fa2c-4637-c67f-8743beb126cd}*SharedItemsImports = 5
tests\QuikGraph.Tests.CommonInternals\QuikGraph.Tests.CommonInternals.projitems*{8adddae1-fa2c-4637-c67f-8743beb126cd}*SharedItemsImports = 5
src\QuikGraph.CommonInternals\QuikGraph.CommonInternals.projitems*{908fe868-7abe-4fe8-bfa6-c5e6572b780d}*SharedItemsImports = 5
tests\QuikGraph.Tests.CommonInternals\QuikGraph.Tests.CommonInternals.projitems*{908fe868-7abe-4fe8-bfa6-c5e6572b780d}*SharedItemsImports = 5
src\QuikGraph.CommonInternals\QuikGraph.CommonInternals.projitems*{90e1536b-6b95-4072-8c60-10e4dc30ae1a}*SharedItemsImports = 5
tests\QuikGraph.Serialization.Tests.CommonInternals\QuikGraph.Serialization.Tests.CommonInternals.projitems*{98e60a67-c326-4b83-8eff-b77e9c651945}*SharedItemsImports = 13
tests\QuikGraph.Tests.CommonInternals\QuikGraph.Tests.CommonInternals.projitems*{98e60a67-c326-4b83-8eff-b77e9c651945}*SharedItemsImports = 13
src\QuikGraph.CommonInternals\QuikGraph.CommonInternals.projitems*{a9a5c115-0680-44b3-a87e-5ecf4c93814e}*SharedItemsImports = 5
src\QuikGraph.CommonInternals\QuikGraph.CommonInternals.projitems*{c8b5e125-4624-44d9-1234-5caf4c25876e}*SharedItemsImports = 5
tests\QuikGraph.Tests.CommonInternals\QuikGraph.Tests.CommonInternals.projitems*{cd993f58-a275-4e67-9f8e-baf3be6f21b6}*SharedItemsImports = 5
src\QuikGraph.CommonInternals\QuikGraph.CommonInternals.projitems*{ce984360-54f0-406f-b8a9-e75897daed3b}*SharedItemsImports = 13
src\QuikGraph.CommonInternals\QuikGraph.CommonInternals.projitems*{f7008baf-1f3a-4406-80b1-4a2f2cdc0cdd}*SharedItemsImports = 5
EndGlobalSection
EndGlobal
4 changes: 4 additions & 0 deletions QuikGraph.sln.DotSettings
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ArrangeVarKeywordsInDeconstructingDeclaration/@EntryIndexedValue">HINT</s:String>
<!-- Style Cop https://github.com/Visual-Stylecop/Visual-StyleCop/wiki -->

<!-- PrefixLocalCallsWithThis -->
Expand Down Expand Up @@ -64,5 +65,8 @@
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=URI/@EntryIndexedValue">URI</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=US/@EntryIndexedValue">US</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=PrivateInstanceFields/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="_" Suffix="" Style="aaBb" /&gt;</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/UserRules/=4a98fdf6_002D7d98_002D4f5a_002Dafeb_002Dea44ad98c70c/@EntryIndexedValue">&lt;Policy&gt;&lt;Descriptor Staticness="Instance" AccessRightKinds="Private" Description="Instance fields (private)"&gt;&lt;ElementKinds&gt;&lt;Kind Name="FIELD" /&gt;&lt;Kind Name="READONLY_FIELD" /&gt;&lt;/ElementKinds&gt;&lt;/Descriptor&gt;&lt;Policy Inspect="True" Prefix="_" Suffix="" Style="aaBb" /&gt;&lt;/Policy&gt;</s:String>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EPredefinedNamingRulesToUserRulesUpgrade/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Eulerian/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Quik/@EntryIndexedValue">True</s:Boolean>
</wpf:ResourceDictionary>
36 changes: 21 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,34 +1,40 @@
| | |
| --- | --- |
| **Build** | [![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/github/KeRNeLith/QuikGraph?branch=master&svg=true)](https://ci.appveyor.com/project/KeRNeLith/quikgraph) |
| **Coverage** | <sup>Coveralls</sup> [![Coverage Status](https://coveralls.io/repos/github/KeRNeLith/QuikGraph/badge.svg?branch=master)](https://coveralls.io/github/KeRNeLith/QuikGraph?branch=master) <sup>SonarQube</sup> [![SonarCloud Coverage](https://sonarcloud.io/api/project_badges/measure?project=quikgraph&metric=coverage)](https://sonarcloud.io/component_measures/metric/coverage/list?id=quikgraph) |
| **Quality** | [![Quality Gate](https://sonarcloud.io/api/project_badges/measure?project=quikgraph&metric=alert_status)](https://sonarcloud.io/dashboard?id=quikgraph) |
| **Nugets** | [![Nuget Status](https://img.shields.io/nuget/v/quikgraph.svg)](https://www.nuget.org/packages/QuikGraph) QuikGraph |
| | [![Nuget Status](https://img.shields.io/nuget/v/quikgraph.serialization.svg)](https://www.nuget.org/packages/QuikGraph.Serialization) QuikGraph.Serialization |
| | [![Nuget Status](https://img.shields.io/nuget/v/quikgraph.graphviz.svg)](https://www.nuget.org/packages/QuikGraph.Graphviz) QuikGraph.Graphviz |
| | [![Nuget Status](https://img.shields.io/nuget/v/quikgraph.data.svg)](https://www.nuget.org/packages/QuikGraph.Data) QuikGraph.Data |
| | [![Nuget Status](https://img.shields.io/nuget/v/quikgraph.msagl.svg)](https://www.nuget.org/packages/QuikGraph.MSAGL) QuikGraph.MSAGL |
| | [![Nuget Status](https://img.shields.io/nuget/v/quikgraph.petri.svg)](https://www.nuget.org/packages/QuikGraph.Petri) QuikGraph.Petri |
| **License** | MS-PL |
| | | |
| ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --- |
| **Build** | [![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/github/KeRNeLith/QuikGraph?branch=master&svg=true)](https://ci.appveyor.com/project/KeRNeLith/quikgraph) | |
| **Coverage** | <sup>Coveralls</sup> [![Coverage Status](https://coveralls.io/repos/github/KeRNeLith/QuikGraph/badge.svg?branch=master)](https://coveralls.io/github/KeRNeLith/QuikGraph?branch=master) <sup>SonarQube</sup> [![SonarCloud Coverage](https://sonarcloud.io/api/project_badges/measure?project=quikgraph&metric=coverage)](https://sonarcloud.io/component_measures/metric/coverage/list?id=quikgraph) | |
| **Quality** | [![Quality Gate](https://sonarcloud.io/api/project_badges/measure?project=quikgraph&metric=alert_status)](https://sonarcloud.io/dashboard?id=quikgraph) | |
| **Nugets** | [![Nuget Status](https://img.shields.io/nuget/v/quikgraph.svg)](https://www.nuget.org/packages/QuikGraph) QuikGraph | |
| | [![Nuget Status](https://img.shields.io/nuget/v/quikgraph.serialization.svg)](https://www.nuget.org/packages/QuikGraph.Serialization) QuikGraph.Serialization | |
| | [![Nuget Status](https://img.shields.io/nuget/v/quikgraph.graphviz.svg)](https://www.nuget.org/packages/QuikGraph.Graphviz) QuikGraph.Graphviz | |
| | [![Nuget Status](https://img.shields.io/nuget/v/quikgraph.data.svg)](https://www.nuget.org/packages/QuikGraph.Data) QuikGraph.Data | |
| | [![Nuget Status](https://img.shields.io/nuget/v/quikgraph.msagl.svg)](https://www.nuget.org/packages/QuikGraph.MSAGL) QuikGraph.MSAGL | |
| | [![Nuget Status](https://img.shields.io/nuget/v/quikgraph.petri.svg)](https://www.nuget.org/packages/QuikGraph.Petri) QuikGraph.Petri | |
| **License** | MS-PL | |

# QuikGraph

## What is **QuikGraph**?

QuikGraph provides generic directed/undirected graph data structures and algorithms for .NET.

QuikGraph comes with algorithms such as depth first search, breath first search, A* search, shortest path, k-shortest path, maximum flow, minimum spanning tree, etc.
QuikGraph comes with algorithms such as depth first search, breath first search, A* search,
shortest path, k-shortest path, maximum flow, minimum spanning tree, etc.

*QuikGraph was originally created by Jonathan "Peli" de Halleux in 2003 and named QuickGraph.*

It was then updated to become YC.QuickGraph.

**This version** of QuickGraph, renamed **QuikGraph**, is a fork of YC.QuickGraph, and I tried to clean the library to provide it as a clean NuGet packages using modern C# development (.NET Core).
**This version** of QuickGraph, renamed **QuikGraph**, is a fork of YC.QuickGraph,
and I tried to clean the library to provide it as a clean NuGet packages using modern C# development (.NET Core).

The library has been cleaned and improved. It comes with a lot of fixes for issues of the original library. It also has a wide support of .NET targets to make it compatible with the most development environments.
The library has been cleaned and improved. It comes with a lot of fixes for issues of the original library.
It also has a wide support of .NET targets to make it compatible with the most development environments.

**[Getting started with QuikGraph](https://github.com/KeRNeLith/QuikGraph/wiki)**

Detailed Information can be found in the Library [[src/QuikGraph/ReadMe|ReadMe]]
and the NDoc of the individual Algorithms.

---

## Targets
Expand Down
11 changes: 11 additions & 0 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
# Release notes

## What's new in 3.0.0 2024-08-18

### QuikGraph: allowing for CoVariance
* using `Edge.Create(source, target)` instead of `new Edge(source, target)`
* deprecated `TryGet...` Methods in favor of nullable Results:
* `IEnumerable<T>` was made nullable to indicate an unknown Vertex Argument.
* `Edge<T>` was made nullable to indicate an unknown Vertex Argument.
* using `IEdge{T}` instead of `Edge{T}` to be more flexible.
* The downside is that structs like `SEdge` will be boxed now, which may reduce Efficiency.


## What's new in 2.5.0 July 4 2022

### QuikGraph
Expand Down
7 changes: 4 additions & 3 deletions appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ environment:
# Setup build version
install:
- ps: ./build/setupBuild.ps1
- ps: choco install docfx -y

# Assembly infos & csproj patching
assembly_info:
Expand Down Expand Up @@ -89,7 +90,7 @@ build_script:
# Start SonarQube analysis (only for Release configuration)
- ps: $analysisFile = (Convert-Path SonarQube.Analysis.xml).ToString()
- ps: >-
if ($env:IsFullIntegrationBuild -eq $true)
if ($env:IsFullIntegrationBuild -eq $NULL)
{
& $sonarScanner begin /k:"quikgraph" /s:$analysisFile /o:"kernelith-github" /d:sonar.host.url="https://sonarcloud.io" /d:"sonar.branch.name=$env:APPVEYOR_REPO_BRANCH" /d:sonar.cs.opencover.reportsPaths="coverage.xml" /d:sonar.login="$env:SONARQUBE_TOKEN"
}
Expand Down Expand Up @@ -122,7 +123,7 @@ test_script:
$testAssemblies = (ls tests\*.Tests\bin\$env:Configuration\net461\*Tests.dll | Where-Object { $_ -Match "net*" -and $_ -NotMatch "netcoreapp*" -and [System.IO.Path]::GetFileNameWithoutExtension($_.FullName) -Match $_.Directory.Parent.Parent.Parent.Name } | % FullName | sort-object -Unique);

$testsPassed = $false;
if ($env:IsFullIntegrationBuild -eq $true)
if ($env:IsFullIntegrationBuild -eq $NULL)
{
$opencover = (Resolve-Path "tools\OpenCover.*\tools\OpenCover.Console.exe").ToString();
$coveralls = (Resolve-Path "tools\csmacnz.Coveralls.exe").ToString();
Expand All @@ -143,7 +144,7 @@ test_script:
# Upload results to AppVeyor

$wc = New-Object 'System.Net.WebClient';
$wc.UploadFile("https://ci.appveyor.com/api/testresults/nunit3/$($env:APPVEYOR_JOB_ID)", (Resolve-Path .\TestResult.xml));
#$wc.UploadFile("https://ci.appveyor.com/api/testresults/nunit3/$($env:APPVEYOR_JOB_ID)", (Resolve-Path .\TestResult.xml));

if (!$testsPassed)
{
Expand Down
Loading