@Test
public void removesTraits() {

    MyTrait trait = new MyTrait(ShapeId.from("foo.baz#foo"), null);
    MyTrait otherTrait = new OtherTrait(ShapeId.from("foo.baz#other"), null);
    Shape shape = StringShape.builder()
            .id("ns.foo#baz")
            .addTrait(trait)
            .addTrait(otherTrait)
            .removeTrait("foo.baz#other")
            .build();
    assertThat(shape.getAllTraits(), hasKey(ShapeId.from("foo.baz#foo")));
    assertThat(shape.getAllTraits(), not(hasKey(ShapeId.from("foo.baz#other"))));
}