diff options
author | Jesse Plamondon-Willard <github@jplamondonw.com> | 2018-04-10 18:22:16 -0400 |
---|---|---|
committer | Jesse Plamondon-Willard <github@jplamondonw.com> | 2018-04-10 18:22:16 -0400 |
commit | 9e5c3912b6cfce0348aa2d88d30a11fe5b410e9c (patch) | |
tree | d23f9eba41b26a379135b9cb9091c16c2537579f /src/SMAPI.ModBuildConfig.Analyzer.Tests/Mock/Netcode | |
parent | 971ed1a17559064ee0ee42a83e786b3e3076059f (diff) | |
download | SMAPI-9e5c3912b6cfce0348aa2d88d30a11fe5b410e9c.tar.gz SMAPI-9e5c3912b6cfce0348aa2d88d30a11fe5b410e9c.tar.bz2 SMAPI-9e5c3912b6cfce0348aa2d88d30a11fe5b410e9c.zip |
move mock classes out of sample code (#471)
Diffstat (limited to 'src/SMAPI.ModBuildConfig.Analyzer.Tests/Mock/Netcode')
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..714c4a8d --- /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 : NetFieldBase<object, NetRef> { } +} |