public void TopLevelSet_ReturnsNull() { // Arrange var field = Substitute.For <ISymbol>(); var type = new SetTypeBuilder() .SetParent(field) .Build(); // Act var nestingDepth = type.NestingDepth; // Assert Assert.Null(nestingDepth); }
public void SetIsNested_ReturnsOne() { // Arrange var parent = Substitute.For <ISetType>(); var type = new SetTypeBuilder() .SetParent(parent) .Build(); // Act var nestingDepth = type.NestingDepth; // Assert Assert.Equal(1, nestingDepth); }
protected override (IParseTree elementNode, ICollectionType collectionType) ParseInput(string input) { var node = ParserInput .FromString(input) .ParseInput(parser => parser.setType()); var setType = new SetTypeBuilder() .SetNode(node) .SetParent(this.Field) .SetBinderProvider(this.BinderProvider) .Build(); return(node.fieldType(), setType); }
public void MixtureOfNestedTypes_ReturnsNestingLevel() { // Arrange // Simulate set<list<set<T>>> var field = Substitute.For <IField>(); var type = new SetTypeBuilder() // set<> .SetParent(new ListTypeBuilder() // list<set<>> .SetParent(new SetTypeBuilder() // set<list<set<>>> .SetParent(field) .Build()) .Build()) .Build(); // Act var nestingDepth = type.NestingDepth; // Assert Assert.Equal(2, nestingDepth); }
public void SetIsNestedMultipleLevelsDeep_ReturnsNestingLevel() { // Arrange // Simulate set<set<set<T>>> var field = Substitute.For <IField>(); var type = new SetTypeBuilder() // set<> .SetParent(new SetTypeBuilder() // set<set<>> .SetParent(new SetTypeBuilder() // set<set<set<>>> .SetParent(field) .Build()) .Build()) .Build(); // Act var nestingDepth = type.NestingDepth; // Assert Assert.Equal(2, nestingDepth); }