Index: Core/Components/src/Core.Components.Stack/Data/StackChartData.cs =================================================================== diff -u -r63d179e733e9d84cc09055b8919476f3712002d7 -red515ccdb8582831729533a466fccc439a8e07a2 --- Core/Components/src/Core.Components.Stack/Data/StackChartData.cs (.../StackChartData.cs) (revision 63d179e733e9d84cc09055b8919476f3712002d7) +++ Core/Components/src/Core.Components.Stack/Data/StackChartData.cs (.../StackChartData.cs) (revision ed515ccdb8582831729533a466fccc439a8e07a2) @@ -70,9 +70,21 @@ /// Thrown when /// or /// is null. + /// Thrown when the + /// amount of is not equal to + /// the amount of . public void AddRow(string name, double[] values, Color? color = null) { - // Check if the number of items is the same as the number of columns + if (values == null) + { + throw new ArgumentNullException(nameof(values)); + } + + if (values.Length != Columns.Count) + { + throw new ArgumentException("The number of value items must be the same as the number of columns."); + } + Rows.Add(new RowChartData(name, values, color)); } } Index: Core/Components/test/Core.Components.Stack.Test/Core.Components.Stack.Test.csproj =================================================================== diff -u -r5e5fdd42139b4b72dd695f8773a6cf964eebe879 -red515ccdb8582831729533a466fccc439a8e07a2 --- Core/Components/test/Core.Components.Stack.Test/Core.Components.Stack.Test.csproj (.../Core.Components.Stack.Test.csproj) (revision 5e5fdd42139b4b72dd695f8773a6cf964eebe879) +++ Core/Components/test/Core.Components.Stack.Test/Core.Components.Stack.Test.csproj (.../Core.Components.Stack.Test.csproj) (revision ed515ccdb8582831729533a466fccc439a8e07a2) @@ -67,6 +67,10 @@ {3BBFD65B-B277-4E50-AE6D-BD24C3434609} Core.Common.Base + + {D749EE4C-CE50-4C17-BF01-9A953028C126} + Core.Common.TestUtil + {6A146889-A3C4-48BF-AF53-C0B0CD355BE4} Core.Components.Stack Index: Core/Components/test/Core.Components.Stack.Test/Data/StackChartDataTest.cs =================================================================== diff -u -r63d179e733e9d84cc09055b8919476f3712002d7 -red515ccdb8582831729533a466fccc439a8e07a2 --- Core/Components/test/Core.Components.Stack.Test/Data/StackChartDataTest.cs (.../StackChartDataTest.cs) (revision 63d179e733e9d84cc09055b8919476f3712002d7) +++ Core/Components/test/Core.Components.Stack.Test/Data/StackChartDataTest.cs (.../StackChartDataTest.cs) (revision ed515ccdb8582831729533a466fccc439a8e07a2) @@ -23,6 +23,7 @@ using System.Drawing; using System.Linq; using Core.Common.Base; +using Core.Common.TestUtil; using Core.Components.Stack.Data; using NUnit.Framework; @@ -92,6 +93,7 @@ { // Setup var data = new StackChartData(); + data.AddColumn("Column 1"); // Call TestDelegate test = () => data.AddRow("test", null, Color.White); @@ -102,6 +104,23 @@ } [Test] + public void AddRow_NumberOfColumnsDifferentThanValueItems_ThrowsArgumentException() + { + // Setup + var data = new StackChartData(); + + // Call + TestDelegate test = () => data.AddRow("test", new[] + { + 2.1 + }); + + // Assert + const string message = "The number of value items must be the same as the number of columns."; + TestHelper.AssertThrowsArgumentExceptionAndTestMessage(test, message); + } + + [Test] public void AddRow_ValidDataWithColor_AddRowToCollection() { // Setup @@ -113,6 +132,7 @@ Color color = Color.Yellow; var data = new StackChartData(); + data.AddColumn("Column 1"); // Call data.AddRow(name, values, color); @@ -136,6 +156,7 @@ }; var data = new StackChartData(); + data.AddColumn("Column 1"); // Call data.AddRow(name, values);