Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
branch: master
Fetching contributors…

Cannot retrieve contributors at this time

105 lines (94 sloc) 2.366 kb
/*
* Copyright 2009-2010 WorldWide Conferencing, LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package net.liftweb
package json
import org.specs.Specification
import org.specs.runner.{Runner, JUnit}
class MergeExamplesTest extends Runner(MergeExamples) with JUnit
object MergeExamples extends Specification {
"Merge example" in {
(scala1 merge scala2) mustEqual expectedMergeResult
}
val scala1 = parse("""
{
"lang": "scala",
"year": 2006,
"tags": ["fp", "oo"],
"features": {
"key1":"val1",
"key2":"val2"
}
}""")
val scala2 = parse("""
{
"tags": ["static-typing","fp"],
"compiled": true,
"lang": "scala",
"features": {
"key2":"newval2",
"key3":"val3"
}
}""")
val expectedMergeResult = parse("""
{
"lang": "scala",
"year": 2006,
"tags": ["fp", "oo", "static-typing"],
"features": {
"key1":"val1",
"key2":"newval2",
"key3":"val3"
},
"compiled": true,
}""")
"Lotto example" in {
(lotto1 merge lotto2) mustEqual mergedLottoResult
}
val lotto1 = parse("""
{
"lotto":{
"lotto-id":5,
"winning-numbers":[2,45,34,23,7,5,3]
"winners":[{
"winner-id":23,
"numbers":[2,45,34,23,3,5]
}]
}
}""")
val lotto2 = parse("""
{
"lotto":{
"winners":[{
"winner-id":54,
"numbers":[52,3,12,11,18,22]
}]
}
}""")
val mergedLottoResult = parse("""
{
"lotto":{
"lotto-id":5,
"winning-numbers":[2,45,34,23,7,5,3],
"winners":[{
"winner-id":23,
"numbers":[2,45,34,23,3,5]
},{
"winner-id":54,
"numbers":[52,3,12,11,18,22]
}]
}
}""")
}
Jump to Line
Something went wrong with that request. Please try again.