File tree Expand file tree Collapse file tree
ModuleManagerTests/Logging Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -16,6 +16,13 @@ public LogMessage(LogType logType, string message)
1616 Message = message ?? throw new ArgumentNullException ( nameof ( message ) ) ;
1717 }
1818
19+ public LogMessage ( ILogMessage logMessage , string newMessage )
20+ {
21+ if ( logMessage == null ) throw new ArgumentNullException ( nameof ( logMessage ) ) ;
22+ LogType = logMessage . LogType ;
23+ Message = newMessage ?? throw new ArgumentNullException ( nameof ( newMessage ) ) ;
24+ }
25+
1926 public string ToLogString ( )
2027 {
2128 string prefix ;
Original file line number Diff line number Diff line change @@ -17,7 +17,7 @@ public ModLogger(string prefix, IBasicLogger logger)
1717 public void Log ( ILogMessage message )
1818 {
1919 if ( message == null ) throw new ArgumentNullException ( nameof ( message ) ) ;
20- logger . Log ( new LogMessage ( message . LogType , prefix + message . Message ) ) ;
20+ logger . Log ( new LogMessage ( message , prefix + message . Message ) ) ;
2121 }
2222 }
2323}
Original file line number Diff line number Diff line change 11using System ;
22using Xunit ;
3+ using NSubstitute ;
34using UnityEngine ;
45using ModuleManager . Logging ;
56
@@ -18,6 +19,39 @@ public void TestConstructor__NullMessage()
1819 Assert . Equal ( "message" , ex . ParamName ) ;
1920 }
2021
22+ [ Fact ]
23+ public void TestConstructor__FromOtherMessage ( )
24+ {
25+ ILogMessage logMessage = Substitute . For < ILogMessage > ( ) ;
26+ logMessage . LogType . Returns ( LogType . Log ) ;
27+ logMessage . Message . Returns ( "the old message" ) ;
28+ LogMessage newLogMessage = new LogMessage ( logMessage , "a new message" ) ;
29+ Assert . Equal ( LogType . Log , newLogMessage . LogType ) ;
30+ Assert . Equal ( "a new message" , newLogMessage . Message ) ;
31+ }
32+
33+ [ Fact ]
34+ public void TestConstructor__FromOtherMessage__LogMessageNull ( )
35+ {
36+ ArgumentNullException ex = Assert . Throws < ArgumentNullException > ( delegate
37+ {
38+ new LogMessage ( null , "a new message" ) ;
39+ } ) ;
40+
41+ Assert . Equal ( "logMessage" , ex . ParamName ) ;
42+ }
43+
44+ [ Fact ]
45+ public void TestConstructor__FromOtherMessage__NewMessageNull ( )
46+ {
47+ ArgumentNullException ex = Assert . Throws < ArgumentNullException > ( delegate
48+ {
49+ new LogMessage ( Substitute . For < ILogMessage > ( ) , null ) ;
50+ } ) ;
51+
52+ Assert . Equal ( "newMessage" , ex . ParamName ) ;
53+ }
54+
2155 [ Fact ]
2256 public void TestToLogMessage__Info ( )
2357 {
You can’t perform that action at this time.
0 commit comments