From 004348f024af6aaa5f275f395098f6933d1304f3 Mon Sep 17 00:00:00 2001 From: naninunenoy Date: Sun, 15 Nov 2020 23:05:20 +0900 Subject: [PATCH] nodeProfile --- .../Editor/DependencyNode.meta | 8 +++++ .../Editor/DependencyNode/NodeId.cs | 25 +++++++++++++++ .../Editor/DependencyNode/NodeId.cs.meta | 11 +++++++ .../Editor/DependencyNode/NodeProfile.cs | 27 ++++++++++++++++ .../Editor/DependencyNode/NodeProfile.cs.meta | 11 +++++++ .../Editor/DependencyNode/Tests.meta | 8 +++++ ...Helper.DependencyGraph.Editor.Tests.asmdef | 17 ++++++++++ ...r.DependencyGraph.Editor.Tests.asmdef.meta | 7 +++++ .../Editor/DependencyNode/Tests/NodeIdTest.cs | 31 +++++++++++++++++++ .../DependencyNode/Tests/NodeIdTest.cs.meta | 11 +++++++ .../DependencyNode/Tests/NodeProfileTest.cs | 28 +++++++++++++++++ .../Tests/NodeProfileTest.cs.meta | 3 ++ 12 files changed, 187 insertions(+) create mode 100644 Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode.meta create mode 100644 Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/NodeId.cs create mode 100644 Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/NodeId.cs.meta create mode 100644 Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/NodeProfile.cs create mode 100644 Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/NodeProfile.cs.meta create mode 100644 Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/Tests.meta create mode 100644 Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/Tests/AsmdefHelper.DependencyGraph.Editor.Tests.asmdef create mode 100644 Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/Tests/AsmdefHelper.DependencyGraph.Editor.Tests.asmdef.meta create mode 100644 Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/Tests/NodeIdTest.cs create mode 100644 Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/Tests/NodeIdTest.cs.meta create mode 100644 Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/Tests/NodeProfileTest.cs create mode 100644 Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/Tests/NodeProfileTest.cs.meta diff --git a/Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode.meta b/Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode.meta new file mode 100644 index 0000000..40910f9 --- /dev/null +++ b/Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bbaa68e4da2746ed9af5d76e173b5e8c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/NodeId.cs b/Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/NodeId.cs new file mode 100644 index 0000000..c901d19 --- /dev/null +++ b/Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/NodeId.cs @@ -0,0 +1,25 @@ +using System; + +namespace AsmdefHelper.DependencyGraph.Editor.DependencyNode { + public readonly struct NodeId : IEquatable { + public readonly int value; + + public NodeId(int value) => this.value = value; + + public bool Equals(NodeId other) { + return value == other.value; + } + + public override bool Equals(object obj) { + return obj is NodeId other && Equals(other); + } + + public override int GetHashCode() { + return value; + } + + public override string ToString() { + return value.ToString(); + } + } +} diff --git a/Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/NodeId.cs.meta b/Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/NodeId.cs.meta new file mode 100644 index 0000000..80d6e23 --- /dev/null +++ b/Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/NodeId.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 11a5fcf054a34f8083cdcdb038b4c70c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/NodeProfile.cs b/Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/NodeProfile.cs new file mode 100644 index 0000000..aad6031 --- /dev/null +++ b/Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/NodeProfile.cs @@ -0,0 +1,27 @@ +using System; + +namespace AsmdefHelper.DependencyGraph.Editor.DependencyNode { + public readonly struct NodeProfile : IEquatable { + public readonly NodeId id; + public readonly string name; + + public NodeProfile(NodeId id, string name) { + this.id = id; + this.name = name; + } + + public bool Equals(NodeProfile other) { + return id.Equals(other.id) && name == other.name; + } + + public override bool Equals(object obj) { + return obj is NodeProfile other && Equals(other); + } + + public override int GetHashCode() { + unchecked { + return (id.GetHashCode() * 397) ^ (name != null ? name.GetHashCode() : 0); + } + } + } +} diff --git a/Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/NodeProfile.cs.meta b/Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/NodeProfile.cs.meta new file mode 100644 index 0000000..10b4358 --- /dev/null +++ b/Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/NodeProfile.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8cf71e8ce8054c4b95902fcd1bda7010 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/Tests.meta b/Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/Tests.meta new file mode 100644 index 0000000..4f235b8 --- /dev/null +++ b/Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/Tests.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7f68a5c3b1e9b8b4aa69caf9b0838471 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/Tests/AsmdefHelper.DependencyGraph.Editor.Tests.asmdef b/Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/Tests/AsmdefHelper.DependencyGraph.Editor.Tests.asmdef new file mode 100644 index 0000000..b57e474 --- /dev/null +++ b/Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/Tests/AsmdefHelper.DependencyGraph.Editor.Tests.asmdef @@ -0,0 +1,17 @@ +{ + "name": "AsmdefHelper.DependencyGraph.Editor.Tests", + "references": [ + "GUID:53e113411e7b0e947975fcd498b539aa" + ], + "includePlatforms": [ + "Editor" + ], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": false, + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": false +} \ No newline at end of file diff --git a/Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/Tests/AsmdefHelper.DependencyGraph.Editor.Tests.asmdef.meta b/Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/Tests/AsmdefHelper.DependencyGraph.Editor.Tests.asmdef.meta new file mode 100644 index 0000000..649977c --- /dev/null +++ b/Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/Tests/AsmdefHelper.DependencyGraph.Editor.Tests.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 5b1e278775093cb40af4ebe716362ac9 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/Tests/NodeIdTest.cs b/Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/Tests/NodeIdTest.cs new file mode 100644 index 0000000..2b296f7 --- /dev/null +++ b/Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/Tests/NodeIdTest.cs @@ -0,0 +1,31 @@ +using System.Collections; +using System.Collections.Generic; +using NUnit.Framework; +using UnityEngine; +using UnityEngine.TestTools; + +namespace AsmdefHelper.DependencyGraph.Editor.DependencyNode.Tests { + public class NodeIdTest { + [Test] + public void TestNodeIdValue() { + var nodeId = new NodeId(123); + Assert.That(nodeId.value, Is.EqualTo(123)); + } + + [Test] + public void TestNodeIdEquals() { + var id1 = new NodeId(111); + var id2 = new NodeId(222); + var id3 = new NodeId(111); + Assert.That(id1, Is.EqualTo(id1)); + Assert.That(id1, Is.Not.EqualTo(id2)); + Assert.That(id1, Is.EqualTo(id3)); + } + + [Test] + public void TestNodeIdToString() { + var nodeId = new NodeId(999); + Assert.That(nodeId.ToString(), Is.EqualTo("999")); + } + } +} diff --git a/Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/Tests/NodeIdTest.cs.meta b/Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/Tests/NodeIdTest.cs.meta new file mode 100644 index 0000000..8b81f4a --- /dev/null +++ b/Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/Tests/NodeIdTest.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 946cb4c27532a5848a9cf8c9dea05df8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/Tests/NodeProfileTest.cs b/Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/Tests/NodeProfileTest.cs new file mode 100644 index 0000000..de2d753 --- /dev/null +++ b/Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/Tests/NodeProfileTest.cs @@ -0,0 +1,28 @@ +using System.Collections; +using NUnit.Framework; +using UnityEditor; +using UnityEngine.TestTools; + +namespace AsmdefHelper.DependencyGraph.Editor.DependencyNode.Tests { + public class NodeProfileTest { + + [Test] + public void TestNodeProfile() { + var nodeProfile = new NodeProfile(new NodeId(123), "testNode"); + Assert.That(nodeProfile.id.value, Is.EqualTo(123)); + Assert.That(nodeProfile.name, Is.EqualTo("testNode")); + } + + [Test] + public void TestNodeProfileEquals() { + var profile1 = new NodeProfile(new NodeId(111), "testNode1"); + var profile2 = new NodeProfile(new NodeId(222), "testNode1"); + var profile3 = new NodeProfile(new NodeId(111), "testNode2"); + var profile4 = new NodeProfile(new NodeId(111), "testNode1"); + Assert.That(profile1, Is.EqualTo(profile1)); + Assert.That(profile1, Is.Not.EqualTo(profile2)); + Assert.That(profile1, Is.Not.EqualTo(profile3)); + Assert.That(profile1, Is.EqualTo(profile4)); + } + } +} diff --git a/Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/Tests/NodeProfileTest.cs.meta b/Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/Tests/NodeProfileTest.cs.meta new file mode 100644 index 0000000..f404abf --- /dev/null +++ b/Assets/AsmdefHelper/DependencyGraph/Editor/DependencyNode/Tests/NodeProfileTest.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 6550a73c9df44f0092949ddd3ea5ac06 +timeCreated: 1605448488 \ No newline at end of file