public void CanReadArrayMember() { using (var stream = new MemoryStream()) { WithStruct value1 = new WithStruct(161, 321, 641); WithStruct value2 = new WithStruct(162, 322, 642); WithStruct value3 = new WithStruct(163, 323, 643); WithArray expected = new WithArray() { FixedLegthArray = new[] { value1, value2 }, VarLength = 1, VarLegthArray = new[] { value3 } }; using (var bw = new BinaryWriter(stream, Encoding.Default, true)) { expected.WriteTo(bw); } stream.Position = 0; var formatBuilder = Bin.Format() .Includes <WithArray>(cfg => cfg .Read(t => t.FixedLegthArray, acfg => acfg.Length(2)) .Read(t => t.VarLegthArray, acfg => acfg.Length(ctx => ctx.Object.VarLength))) .Includes <WithStruct>(); var format = formatBuilder.Build <WithArray>(); var actual = format.Read(stream); Assert.AreEqual(expected, actual); } }
public int Multiply(WithArray input) { int multiplyer = 1; for (int i = 1; i < input.Numbers.Length; i++) { multiplyer *= input.Numbers[i]; } return(multiplyer); }
public void GetIndexes_WhenItemWithEnumerableWithOneInt_ReturnsIndexWithInt() { var item = new WithArray { IntValues = new[] { 42 } }; var schema = StructureSchemaTestFactory.CreateRealFrom<WithArray>(); var factory = new StructureIndexesFactory(); var indexes = factory.CreateIndexes(schema, item, _structureIdGenerator.Invoke()).ToList(); Assert.AreEqual(42, indexes.Single(i => i.Path == "IntValues").Value); }
public void Write_WithArray_WritesObjectCorrectly() { // Arrange var tc = new WithArray(); // Act var s = Toml.WriteString(tc); // Assert Assert.Equal("EmptyArray = []\r\nNonEmptyIntArray = [-100, 0, 100]\r\nStringList = [\"A\", \"B\", \"C\"]\r\n", s); }
public void CreateStructure_WhenItemWithEnumerableWithTwoEqualElements_ReturnsIndexWithStringsAsOneValuedDelimitedString() { var schema = new AutoSchemaBuilder<WithArray>().CreateSchema(); var item = new WithArray { Values = new[] { "A", "A" } }; var builder = new StructureBuilder(); var structure = builder.CreateStructure(item, schema); var indexes = structure.Indexes.ToList(); Assert.AreEqual("<$A$>", indexes[0].Value); }
public void GetIndexes_WhenItemWithEnumerableWithOneInt_ReturnsIndexWithInt() { var item = new WithArray { IntValues = new[] { 42 } }; var schema = StructureSchemaTestFactory.CreateRealFrom <WithArray>(); var factory = new StructureIndexesFactory(); var indexes = factory.CreateIndexes(schema, item, _structureIdGenerator.Invoke()).ToList(); Assert.AreEqual(42, indexes.Single(i => i.Path == "IntValues").Value); }
public void GetIndexes_WhenItemWithEnumerableWithOneString_ReturnsIndexWithString() { var item = new WithArray { StringValues = new[] { "A" } }; var schemaStub = StructureSchemaTestFactory.CreateRealFrom <WithArray>(); var factory = new StructureIndexesFactory(); var indexes = factory.CreateIndexes(schemaStub, item).ToList(); Assert.AreEqual("A", indexes.Single(i => i.Path == "StringValues[0]").Value); }
public void GetIndexes_WhenItemWithEnumerableWithOneString_ReturnsIndexWithDataTypeOfStringElement() { var item = new WithArray { StringValues = new[] { "A" } }; var schemaStub = StructureSchemaTestFactory.CreateRealFrom <WithArray>(); var factory = new StructureIndexesFactory(); var indexes = factory.CreateIndexes(schemaStub, item, _structureIdGenerator.Invoke()).ToList(); Assert.AreEqual(DataTypeCode.String, indexes.Single(i => i.Path == "StringValues").DataTypeCode); }
public void GetIndexes_WhenItemWithEnumerableWithOneNullString_ReturnsNullIndex() { var item = new WithArray { StringValues = new string[] { null } }; var schemaStub = StructureSchemaTestFactory.CreateRealFrom <WithArray>(); var factory = new StructureIndexesFactory(); var indexes = factory.CreateIndexes(schemaStub, item, _structureIdGenerator.Invoke()).ToList(); Assert.IsNull(indexes.SingleOrDefault(i => i.Path == "StringValues")); }
public void GetIndexes_WhenItemWithEnumerableWithOneNullInt_ReturnsNullIndex() { var item = new WithArray { NullableIntValues = new int?[] { null } }; var schemaStub = StructureSchemaTestFactory.CreateRealFrom <WithArray>(); var factory = new StructureIndexesFactory(); var indexes = factory.CreateIndexes(schemaStub, item).ToList(); Assert.IsNull(indexes.SingleOrDefault(i => i.Path == "NullableIntValues")); }
public void CreateStructure_WhenItemWithEnumerable_WillConsumeStringConverter() { var stringConverterFake = new Mock<IStringConverter>(); SisoDbEnvironment.StringConverter = stringConverterFake.Object; var schema = new AutoSchemaBuilder<WithArray>().CreateSchema(); var item = new WithArray { Values = new[] { "A", "B" } }; var builder = new StructureBuilder(); builder.CreateStructure(item, schema); stringConverterFake.Verify(s => s.AsString<object>("A"), Times.Once()); stringConverterFake.Verify(s => s.AsString<object>("B"), Times.Once()); }
public void GetIndexes_WhenItemWithEnumerableWithTwoEqualElements_ReturnsTwoIntIndexes() { var item = new WithArray { IntValues = new[] { 42, 42 } }; var schemaStub = StructureSchemaTestFactory.CreateRealFrom <WithArray>(); var factory = new StructureIndexesFactory(); var indexes = factory.CreateIndexes(schemaStub, item, _structureIdGenerator.Invoke()).ToList(); Assert.AreEqual(42, indexes[1].Value); Assert.AreEqual(42, indexes[2].Value); }
public void GetIndexes_WhenItemWithEnumerableWithTwoDifferentStrings_ReturnsTwoStringIndexes() { var item = new WithArray { StringValues = new[] { "A", "B" } }; var schemaStub = StructureSchemaTestFactory.CreateRealFrom <WithArray>(); var factory = new StructureIndexesFactory(); var indexes = factory.CreateIndexes(schemaStub, item, _structureIdGenerator.Invoke()).ToList(); Assert.AreEqual("A", indexes[1].Value); Assert.AreEqual("B", indexes[2].Value); }
public void GetIndexes_WhenItemWithEnumerableWithTwoDifferentInts_ReturnsTwoIntIndexes() { var item = new WithArray { IntValues = new[] { 42, 43 } }; var schemaStub = StructureSchemaTestFactory.CreateRealFrom <WithArray>(); var factory = new StructureIndexesFactory(); var indexes = factory.CreateIndexes(schemaStub, item).ToList(); Assert.AreEqual(42, indexes[0].Value); Assert.AreEqual(43, indexes[1].Value); }
public void GetIndexes_WhenItemWithEnumerableWithTwoEqualElements_ReturnsTwoStringIndexes() { var item = new WithArray { StringValues = new[] { "A", "A" } }; var schemaStub = StructureSchemaTestFactory.CreateRealFrom <WithArray>(); var factory = new StructureIndexesFactory(); var indexes = factory.CreateIndexes(schemaStub, item).ToList(); Assert.AreEqual("A", indexes[0].Value); Assert.AreEqual("A", indexes[1].Value); }
public void GetIndexes_WhenItemWithArraysBeingNull_ReturnesNoIndexes() { var item = new WithArray { IntValues = null, NullableIntValues = null, StringValues = null }; var schemaStub = StructureSchemaTestFactory.CreateRealFrom <WithArray>(); var factory = new StructureIndexesFactory(); var indexes = factory.CreateIndexes(schemaStub, item).ToList(); indexes.Should().BeEmpty(); }
public IActionResult Arrays([FromBody] WithArray array) { if (array == null || array.Numbers == null) { return(Json(new { error = "Please provide a number!" })); } else { if (array.What == "sum") { return(Json(new { result = homeService.Sum(array) })); } else if (array.What == "multiply") { return(Json(new { result = homeService.Multiply(array) })); } //else if (what == "double") //{ // return Json(new { result = array.Double() }); //} } return(Json(new { error = "Please provide an input!" })); }
public void GetIndexes_WhenItemWithEnumerableWithOneNullInt_ReturnsNullIndex() { var item = new WithArray { NullableIntValues = new int?[] { null } }; var schemaStub = StructureSchemaTestFactory.CreateRealFrom<WithArray>(); var factory = new StructureIndexesFactory(); var indexes = factory.CreateIndexes(schemaStub, item, _structureIdGenerator.Invoke()).ToList(); Assert.IsNull(indexes.SingleOrDefault(i => i.Path == "NullableIntValues")); }
public int Sum(WithArray input) { int summer = input.Numbers.Sum(); return(summer); }
public void GetIndexes_WhenItemWithEnumerableWithTwoEqualElements_ReturnsTwoStringIndexes() { var item = new WithArray { StringValues = new[] { "A", "A" } }; var schemaStub = StructureSchemaTestFactory.CreateRealFrom<WithArray>(); var factory = new StructureIndexesFactory(); var indexes = factory.CreateIndexes(schemaStub, item, _structureIdGenerator.Invoke()).ToList(); Assert.AreEqual("A", indexes[1].Value); Assert.AreEqual("A", indexes[2].Value); }
public void GetIndexes_WhenItemWithEnumerableWithTwoDifferentInts_ReturnsTwoIntIndexes() { var item = new WithArray { IntValues = new[] { 42, 43 } }; var schemaStub = StructureSchemaTestFactory.CreateRealFrom<WithArray>(); var factory = new StructureIndexesFactory(); var indexes = factory.CreateIndexes(schemaStub, item, _structureIdGenerator.Invoke()).ToList(); Assert.AreEqual(42, indexes[1].Value); Assert.AreEqual(43, indexes[2].Value); }
public void GetIndexes_WhenItemWithEnumerableWithOneString_ReturnsIndexWithDataTypeOfStringElement() { var item = new WithArray { StringValues = new[] { "A" } }; var schemaStub = StructureSchemaTestFactory.CreateRealFrom<WithArray>(); var factory = new StructureIndexesFactory(); var indexes = factory.CreateIndexes(schemaStub, item, _structureIdGenerator.Invoke()).ToList(); Assert.AreEqual(DataTypeCode.String, indexes.Single(i => i.Path == "StringValues").DataTypeCode); }