public void CtorIsOkIfStepIdIsNotDefined() { //Arrange var x = new Parameter("something", null, 0); //Act //Assert }
public void BothCtorCreateEqualObjects() { // Arrange var x1 = new Parameter("name", "SomeStepId", 0); var x2 = new Parameter(new Public("name"), "SomeStepId", 0); // Act // Assert Assert.IsTrue(x1.Equals(x2)); }
public void EqualityOperatorReturnsFalseIfTwoObjectsHaveDifferentCategory() { // Arrange var x1 = new Parameter("name1", "SomeStepId", 0); var x2 = new Parameter("name2", "SomeStepId", 0); // Act // Assert Assert.IsFalse(x1 == x2); }
public void AddPublishedItemIdDefaultsToZero() { // Arrange var context = factory.Create(ContextType.Empty); var expected = new Parameter("something", "step1", 0); context.AddPublishedItem("something", "step1", new object()); // Act var item = context.GetPublishedItem(expected); // Assert Assert.AreEqual(expected, item); }
public void AddPublishedItem(Public category, int id, string publishedBy, object value) { if (category == null) throw new ArgumentNullException("category"); if (publishedBy == null) throw new ArgumentNullException("publishedBy"); if (id < 0) throw new ArgumentOutOfRangeException("id"); var prm = new Parameter(category, publishedBy, id); prm.Value = value; values.Add(prm); }
public void ValidateAddsErrorIfNumberOfInputParametersIsLessThanExpected() { // Arrange var x = new Flow(); var step = new Step(null, "DoArithmetic"); var prm = new Parameter("int", step.Id, 0); step.AddParameter(prm); x.Add(step); var actions = new CalculatorActionDefinitionProvider().Get; // Act var errors = x.Validate(actions); // Assert Assert.IsNotNull(errors); Assert.AreEqual(1, errors.Count); Assert.IsTrue(errors[0].Message.Contains("Number of input parameters")); }
public void UnequalityOperatorReturnsFalseIfDifferentObjectsHaveTheSameCategoryAndIndexAndNullStepId() { // Arrange var x1 = new Parameter("name", null, 0); var x2 = new Parameter("name", null, 0); // Act // Assert Assert.IsFalse(object.ReferenceEquals(x1, x2)); Assert.IsFalse(x1 != x2); }
public void HashCodeIsTheSameForObjectsWithSameCategoryIndexAndStepId() { // Arrange const string name = "a name"; const int index = 911; const string step = "a step"; var x1 = new Parameter(name, step, index); var x2 = new Parameter(name, step, index); // Act // Assert Assert.AreEqual(x1.GetHashCode(), x2.GetHashCode()); }
public void HashCodeIsDifferentForObjectsWithSameCategoryAndIndexButDifferentStepId() { // Arrange const string name = "a name"; const int index = 911; var x1 = new Parameter(name, "step1", index); var x2 = new Parameter(name, "step2", index); // Act // Assert Assert.AreNotEqual(x1.GetHashCode(), x2.GetHashCode()); }
public void HashCodeIsDifferentForObjectsWithDifferentIndex() { // Arrange const string name = "a name"; const string step = "a step"; var x1 = new Parameter(name, step, 0); var x2 = new Parameter(name, step, 1); // Act // Assert Assert.AreNotEqual(x1.GetHashCode(), x2.GetHashCode()); }
public void HashCodeIsDifferentForObjectsWithDifferentCategory() { // Arrange const int index = 911; const string step = "a step"; var x1 = new Parameter("name1", step, index); var x2 = new Parameter("name2", step, index); // Act // Assert Assert.AreNotEqual(x1.GetHashCode(), x2.GetHashCode()); }
public bool Equals(Parameter other) { if (other == null) return false; return Category == other.Category && string.Equals(StepId, other.StepId, StringComparison.InvariantCultureIgnoreCase) && Id == other.Id; }
public void UnequalityOperatorReturnsTrueIfTwoObjectsHaveTheSameCategoryAndIndexButDifferentStepId() { // Arrange var x1 = new Parameter("name", "step1", 0); var x2 = new Parameter("name", "step2", 0); // Act // Assert Assert.IsTrue(x1 != x2); }
public void UnequalityOperatorReturnsFalseOnTheSameObject() { // Arrange var x1 = new Parameter("name", "SomeStepId", 0); // Act // Assert Assert.IsTrue(object.ReferenceEquals(x1, x1)); #pragma warning disable 1718 Assert.IsFalse(x1 != x1); #pragma warning restore 1718 }
public void GetPublishedItemThrowsIfParameterStepIdDoesNotMatch() { // Arrange var context = factory.Create(ContextType.Empty); context.AddPublishedItem(new Public("something"), "step1", 0); var prm = new Parameter(new Public("something"), "step2", 0); // Act // Assert Assert.Throws(typeof (ArgumentException), () => context.GetPublishedItem(prm)); }
public void GetPublishedItemReturnsCorrectItem() { // Arrange var context = factory.Create(ContextType.Empty); var expected = new Parameter("something", "step1", 3); context.AddPublishedItem("something", 1, "step1", new object()); context.AddPublishedItem("something", 2, "step1", new object()); context.AddPublishedItem("something", 3, "step1", new object()); // Act var item = context.GetPublishedItem(expected); // Assert Assert.AreEqual(expected, item); }
public void ValidateAddsErrorIfParameterWasNotPreviouslyPublished() { // Arrange var x = new Flow(); var step = new Step(null, "PrintInt"); var prm = new Parameter("int", step.Id, 0); step.AddParameter(prm); x.Add(step); var actions = new CalculatorActionDefinitionProvider().Get; // Act var errors = x.Validate(actions); // Assert Assert.IsNotNull(errors); Assert.AreEqual(1, errors.Count); Assert.IsTrue(errors[0].Message.Contains("has not been previously published")); }
public void UnequalityOperatorReturnsTrueIfTwoObjectsHaveDifferentIndex() { // Arrange var x1 = new Parameter("name", "SomeStepId", 0); var x2 = new Parameter("name", null, 1); // Act // Assert Assert.IsTrue(x1 != x2); }
public void EqualsReturnsFalseIfTwoObjectsHaveDifferentStepId() { // Arrange var x1 = new Parameter("name", "step1", 0); var x2 = new Parameter("name", "step2", 0); // Act // Assert Assert.IsFalse(x1.Equals(x2)); }
public void UnequalityOperatorReturnsTrueOnNull() { // Arrange var x1 = new Parameter("name", "SomeStepId", 0); Parameter x2 = null; // Act // Assert Assert.IsNull(x2); Assert.IsTrue(x1 != x2); }
public void EqualsReturnsFalseOnNull() { // Arrange var x1 = new Parameter("name", "SomeStepId", 0); Parameter x2 = null; // Act // Assert Assert.IsNull(x2); Assert.IsFalse(x1.Equals(x2)); }
public void EqualsReturnsTrueOnTheSameObject() { // Arrange var x1 = new Parameter("name", "SomeStepId", 0); // Act // Assert Assert.IsTrue(object.ReferenceEquals(x1, x1)); Assert.IsTrue(x1.Equals(x1)); }
public Parameter GetPublishedItem(Parameter prm) { if (prm == null) throw new ArgumentNullException("prm"); Parameter item = values.Find(x => x == prm); if (item == null) throw new ArgumentException(string.Format("Item of type '{0}' published by step '{1}' with ID {2} was not found", prm.Category.Name, prm.StepId, prm.Id)); logger.DebugFormat("Retrieved item of type '{0}' having the value of [{1}]", item.Category.Name, item.Value); return item; }