public void WithLocation_Where_Location_Is_Null()
        {
            // arrange
            var initialLocation = new Location(1, 1, 1, 1);
            var namedType       = new NamedTypeNode("abc");
            var type            = new ListTypeNode(initialLocation, namedType);

            // act
            type = type.WithLocation(null);

            // assert
            Assert.Null(type.Location);
            Assert.Equal(namedType, type.Type);
        }
        public void WithLocation()
        {
            // arrange
            var initialLocation = new Location(1, 1, 1, 1);
            var namedType       = new NamedTypeNode("abc");
            var type            = new ListTypeNode(initialLocation, namedType);

            // act
            var newLocation = new Location(2, 2, 2, 2);

            type = type.WithLocation(newLocation);

            // assert
            Assert.Equal(newLocation, type.Location);
            Assert.Equal(namedType, type.Type);
        }