public void SetTwoTimesSameFieldMustFail() { var @class = CreateInstance<IClass> (); var insertion = new Screw.Framework.Services.Storage.Insertion(@class, Guid.Empty); var fieldMock = CreateMock<IField> (); fieldMock.StubGet (x => x.Class, @class); insertion.Set (fieldMock.MockObject, new object()); var ex = Assert.Throws<InvalidOperationException> (() => insertion.Set (fieldMock.MockObject, new object())); Assert.AreEqual ("The insertion already contains the specified field", ex.Message); }
public void IfFieldIsStringAndValueIsNotNullValueCanBeAnString() { var @class = CreateInstance<IClass>(); var insertion = new Screw.Framework.Services.Storage.Insertion(@class, Guid.Empty); var fieldMock = CreateMock<IField> (); fieldMock.StubGet (x => x.Class, @class); insertion.Set (fieldMock.MockObject, "a"); }
public void IfFieldIsStringAndValueIsNotNullValueCanNotBeNotString() { var @class = CreateInstance<IClass>(); var insertion = new Screw.Framework.Services.Storage.Insertion(@class, Guid.Empty); var fieldMock = CreateMock<ITextField> (); fieldMock.StubGet (x => x.Class, @class); var ex =Assert.Throws<ArgumentException>(() => insertion.Set (fieldMock.MockObject, new object())); Assert.AreEqual (ex.Message, "Text fields can only have values of type string\nParameter name: value"); Assert.AreEqual (ex.ParamName, "value"); }
public void TheFieldAndValueMustBeInInsertionBeforeSet() { var value = new object (); var @class = CreateInstance<IClass>(); var insertion = new Screw.Framework.Services.Storage.Insertion(@class, Guid.Empty); var fieldMock = CreateMock<IField> (); fieldMock.StubGet (x => x.Class, @class); insertion.Set (fieldMock.MockObject, value); var found = insertion.Values.Any (element => element.Key == fieldMock.MockObject && element.Value == value); Assert.IsTrue (found); }
public void TheSettedFieldMustBeFromSameClassOfInsertion() { var @class = CreateInstance<IClass>(); var otherClass = CreateInstance<IClass>(); var insertion = new Screw.Framework.Services.Storage.Insertion(@class, Guid.Empty); var fieldMock = CreateMock<IField> (); fieldMock.StubGet (x => x.Class, @otherClass); var ex = Assert.Throws<InvalidOperationException>(() => insertion.Set (fieldMock.MockObject, new object())); Assert.AreEqual ("The field does not belong to the class", ex.Message); }
public void TheSettedFieldCanNotBeNull() { var @class = CreateInstance<IClass>(); var insertion = new Screw.Framework.Services.Storage.Insertion(@class, Guid.Empty); var ex = Assert.Throws<ArgumentNullException>(() => insertion.Set (null, new object())); Assert.AreEqual ("field", ex.ParamName); }
public void TheSettedValueCanBeNullIfFieldIsNullable() { var @class = CreateInstance<IClass>(); var insertion = new Screw.Framework.Services.Storage.Insertion(@class, Guid.Empty); var fieldMock = CreateMock<IField> (); fieldMock.StubGet (x => x.Nullable, false); fieldMock.StubGet (x => x.Class, @class); insertion.Set (fieldMock.MockObject, null); }