public void NormalTypeValuesGetsSetCorrectly(ushort major, ushort minor, ushort patch)
        {
            var expected = new VersionResult {Major = major, Minor = minor, Patch = patch};

            var actual = new SemanticVersion(major, minor, patch);

            actual.AsSource().OfLikeness<VersionResult>().ShouldEqual(expected);
        }
        public void SpecialVersionsGetsSetCorrectly(SemanticVersionType semanticVersionType, ushort major, ushort minor, ushort patch,
            string[] specialVersionParts)
        {
            var expectedSpecialVersion = string.Join(".", specialVersionParts);

            var expected = new VersionResult
                           	{
                           		Major = major,
                           		Minor = minor,
                           		Patch = patch,
                           		SemanticVersionType = semanticVersionType,
                           		SpecialVersion = expectedSpecialVersion
                           	};

            var actual = new SemanticVersion(major, minor, patch, specialVersionParts, semanticVersionType);

            actual.AsSource().OfLikeness<VersionResult>().ShouldEqual(expected);
        }