public static void SerializeToString___Should_return_null___When_parameter_value_is_null() { // Arrange var systemUnderTest = new ObcVersionStringSerializer(); // Act var actual = systemUnderTest.SerializeToString(null); // Assert actual.AsTest().Must().BeNull(); }
public static void Deserialize_serializedString_type___Should_return_null___When_parameter_serializedString_is_null() { // Arrange var systemUnderTest = new ObcVersionStringSerializer(); // Act var actual = systemUnderTest.Deserialize(null, typeof(Version)); // Assert actual.AsTest().Must().BeNull(); }
public static void Deserialize_serializedString_type___Should_throw_ArgumentNullException___When_parameter_type_is_null() { // Arrange var systemUnderTest = new ObcVersionStringSerializer(); // Act var actual = Record.Exception(() => systemUnderTest.Deserialize("1.0", null)); // Assert actual.Must().BeOfType <ArgumentNullException>(); actual.Message.Must().ContainString("type"); }
public static void SerializeToString___Should_throw_ArgumentException___When_parameter_value_is_not_Version() { // Arrange var systemUnderTest = new ObcVersionStringSerializer(); var values = new[] { new object(), "1.0", A.Dummy <string>(), A.Dummy <int>(), A.Dummy <Guid>() }; // Act var actual = values.Select(_ => Record.Exception(() => systemUnderTest.SerializeToString(_))).ToList(); // Assert actual.Must().Each().BeOfType <ArgumentException>(); actual.Select(_ => _.Message).Must().Each().ContainString("objectToSerialize is not a Version; it is a"); }
public static void Deserialize_serializedString_type___Should_throw_ArgumentException___When_parameter_type_is_not_Version() { // Arrange var systemUnderTest = new ObcVersionStringSerializer(); // Act var actual1 = Record.Exception(() => systemUnderTest.Deserialize("1.2.0", typeof(object))); var actual2 = Record.Exception(() => systemUnderTest.Deserialize("1.2.0", typeof(DateTime))); // Assert actual1.Must().BeOfType <ArgumentException>(); actual1.Message.Must().BeEqualTo("type != typeof(Version); 'type' is of type 'object'"); actual2.Must().BeOfType <ArgumentException>(); actual2.Message.Must().BeEqualTo("type != typeof(Version); 'type' is of type 'DateTime'"); }
public static void SerializeToString___Should_return_serialized_string_representation_of_value___When_called() { // Arrange var systemUnderTest = new ObcVersionStringSerializer(); var scenarios = new List <(Version Value, string Expected)> { (new Version(), "0.0"), (new Version(5, 20), "5.20"), (new Version(5, 20, 43), "5.20.43"), (new Version(5, 20, 43, 69), "5.20.43.69"), }; // Act var actuals = scenarios.Select(_ => systemUnderTest.SerializeToString(_.Value)).ToList(); // Assert actuals.Must().BeEqualTo(scenarios.Select(_ => _.Expected).ToList()); }
public static void Deserialize_T___Should_deserialize_version___When_called() { // Arrange var systemUnderTest = new ObcVersionStringSerializer(); var scenarios = new List <(Version Expected, string SerializedString)> { (new Version(), "0.0"), (new Version(5, 20), "5.20"), (new Version(5, 20, 43), "5.20.43"), (new Version(5, 20, 43, 69), "5.20.43.69"), }; // Act var actual = scenarios.Select(_ => systemUnderTest.Deserialize <Version>(_.SerializedString)).ToList(); // Assert actual.AsTest().Must().BeEqualTo(scenarios.Select(_ => _.Expected).ToList()); }
public static void Deserialize_T___Should_throw_InvalidOperationException___When_parameter_serializedString_is_malformed() { // Arrange var systemUnderTest = new ObcVersionStringSerializer(); var serializedStrings = new[] { string.Empty, "not-a-version", "-1.2.3", }; // Act var actual = serializedStrings.Select(_ => Record.Exception(() => systemUnderTest.Deserialize <Version>(_))).ToList(); // Assert actual.AsTest().Must().Each().BeOfType <InvalidOperationException>(); actual.Select(_ => _.Message).AsTest().Must().Each().ContainString("The serialized Version is malformed"); }