ApprovalTests.Reporters.FirstWorkingReporter.Report C# (CSharp) Method

Report() public method

public Report ( string approved, string received ) : void
approved string
received string
return void
		public void Report(string approved, string received)
		{
			var r = reporters.FirstOrDefault(x => x.IsWorkingInThisEnvironment(received));
			if (r == null)
			{
				throw new Exception("{0} Could not find a Reporter for file {1}".FormatWith(GetType().Name, received));
			}
			r.Report(approved, received);
		}

Usage Example

        public void TestCallsFirstAndOnlyFirst()
        {
            var a = new RecordingReporter(false);
            var b = new RecordingReporter(true);
            var c = new RecordingReporter(true);

            var reporter = new FirstWorkingReporter(a,b,c);
            Assert.IsTrue(reporter.IsWorkingInThisEnvironment());
            reporter.Report("a","b");
            Assert.IsNull(a.CalledWith);
            Assert.AreEqual("a,b", b.CalledWith);
            Assert.IsNull(c.CalledWith);
        }