ServiceShape extends EntityShape implements ToSmithyBuilder<ServiceShape> { public static Builder builder() { return new Builder(); } private  ServiceShape(Builder builder); static Builder builder(); @Override Builder toBuilder(); @Override R accept(ShapeVisitor<R> cases); @Override Optional<ServiceShape> asServiceShape(); @Override boolean equals(Object other); String getVersion();  }
@Test public void returnsAppropriateType() { ServiceShape shape = ServiceShape.builder().id("ns.foo#Bar").version("2017-01-17").build(); assertEquals(shape.getType(), ShapeType.SERVICE); }
@Test public void mustNotContainMembersInShapeId() { Assertions.assertThrows(SourceException.class, () -> { ServiceShape.builder().id("ns.foo#Bar$baz").build(); }); }