summaryrefslogtreecommitdiff
path: root/src/SMAPI.ModBuildConfig.Analyzer.Tests/Mock/Netcode
diff options
context:
space:
mode:
authorJesse Plamondon-Willard <github@jplamondonw.com>2018-04-11 20:32:00 -0400
committerJesse Plamondon-Willard <github@jplamondonw.com>2018-04-11 20:32:00 -0400
commitb9bc1a6d17cafa0a97b46ffecda432cfc2f23b51 (patch)
tree319498e8724137a5680186645ca8324f2949eba3 /src/SMAPI.ModBuildConfig.Analyzer.Tests/Mock/Netcode
parent46141a7af21a921284bc82d49d888da864887d6e (diff)
parent2d47e479a5e48a575db3ca9998653c0435419440 (diff)
downloadSMAPI-b9bc1a6d17cafa0a97b46ffecda432cfc2f23b51.tar.gz
SMAPI-b9bc1a6d17cafa0a97b46ffecda432cfc2f23b51.tar.bz2
SMAPI-b9bc1a6d17cafa0a97b46ffecda432cfc2f23b51.zip
Merge branch 'develop' into stable
Diffstat (limited to 'src/SMAPI.ModBuildConfig.Analyzer.Tests/Mock/Netcode')
-rw-r--r--src/SMAPI.ModBuildConfig.Analyzer.Tests/Mock/Netcode/NetFieldBase.cs16
-rw-r--r--src/SMAPI.ModBuildConfig.Analyzer.Tests/Mock/Netcode/NetInt.cs6
-rw-r--r--src/SMAPI.ModBuildConfig.Analyzer.Tests/Mock/Netcode/NetRef.cs6
3 files changed, 28 insertions, 0 deletions
diff --git a/src/SMAPI.ModBuildConfig.Analyzer.Tests/Mock/Netcode/NetFieldBase.cs b/src/SMAPI.ModBuildConfig.Analyzer.Tests/Mock/Netcode/NetFieldBase.cs
new file mode 100644
index 00000000..1684229a
--- /dev/null
+++ b/src/SMAPI.ModBuildConfig.Analyzer.Tests/Mock/Netcode/NetFieldBase.cs
@@ -0,0 +1,16 @@
+// ReSharper disable CheckNamespace -- matches Stardew Valley's code
+namespace Netcode
+{
+ /// <summary>A simplified version of Stardew Valley's <c>Netcode.NetFieldBase</c> for unit testing.</summary>
+ /// <typeparam name="T">The type of the synchronised value.</typeparam>
+ /// <typeparam name="TSelf">The type of the current instance.</typeparam>
+ public class NetFieldBase<T, TSelf> where TSelf : NetFieldBase<T, TSelf>
+ {
+ /// <summary>The synchronised value.</summary>
+ public T Value { get; set; }
+
+ /// <summary>Implicitly convert a net field to the its type.</summary>
+ /// <param name="field">The field to convert.</param>
+ public static implicit operator T(NetFieldBase<T, TSelf> field) => field.Value;
+ }
+}
diff --git a/src/SMAPI.ModBuildConfig.Analyzer.Tests/Mock/Netcode/NetInt.cs b/src/SMAPI.ModBuildConfig.Analyzer.Tests/Mock/Netcode/NetInt.cs
new file mode 100644
index 00000000..b3abc467
--- /dev/null
+++ b/src/SMAPI.ModBuildConfig.Analyzer.Tests/Mock/Netcode/NetInt.cs
@@ -0,0 +1,6 @@
+// ReSharper disable CheckNamespace -- matches Stardew Valley's code
+namespace Netcode
+{
+ /// <summary>A simplified version of Stardew Valley's <c>Netcode.NetInt</c> for unit testing.</summary>
+ public class NetInt : NetFieldBase<int, NetInt> { }
+}
diff --git a/src/SMAPI.ModBuildConfig.Analyzer.Tests/Mock/Netcode/NetRef.cs b/src/SMAPI.ModBuildConfig.Analyzer.Tests/Mock/Netcode/NetRef.cs
new file mode 100644
index 00000000..be2459cc
--- /dev/null
+++ b/src/SMAPI.ModBuildConfig.Analyzer.Tests/Mock/Netcode/NetRef.cs
@@ -0,0 +1,6 @@
+// ReSharper disable CheckNamespace -- matches Stardew Valley's code
+namespace Netcode
+{
+ /// <summary>A simplified version of Stardew Valley's <c>Netcode.NetRef</c> for unit testing.</summary>
+ public class NetRef<T> : NetFieldBase<T, NetRef<T>> where T : class { }
+}