|
|
|
@@ -232,301 +232,6 @@ namespace TensorFlowNET.UnitTest |
|
|
|
return new AndConstraint<NDArrayAssertions>(this); |
|
|
|
} |
|
|
|
|
|
|
|
public AndConstraint<NDArrayAssertions> BeOfValues(params object[] values) |
|
|
|
{ |
|
|
|
if (values == null) |
|
|
|
throw new ArgumentNullException(nameof(values)); |
|
|
|
|
|
|
|
Subject.size.Should().Be((ulong)values.Length, "the method BeOfValues also confirms the sizes are matching with given values."); |
|
|
|
|
|
|
|
#if _REGEN |
|
|
|
#region Compute |
|
|
|
switch (Subject.typecode) |
|
|
|
{ |
|
|
|
%foreach supported_dtypes,supported_dtypes_lowercase% |
|
|
|
case NPTypeCode.#1: |
|
|
|
{ |
|
|
|
var iter = Subject.AsIterator<#2>(); |
|
|
|
var next = iter.MoveNext; |
|
|
|
var hasnext = iter.HasNext; |
|
|
|
for (int i = 0; i < values.Length; i++) |
|
|
|
{ |
|
|
|
Execute.Assertion |
|
|
|
.ForCondition(hasnext()) |
|
|
|
.FailWith($"Expected the NDArray to have atleast {values.Length} but in fact it has size of {i}."); |
|
|
|
|
|
|
|
var expected = Convert.To#1(values[i]); |
|
|
|
var nextval = next(); |
|
|
|
|
|
|
|
Execute.Assertion |
|
|
|
.ForCondition(expected == nextval) |
|
|
|
.FailWith($"Expected NDArray's {{2}}th value to be {{0}}, but found {{1}} (dtype: #1).\n------- Subject -------\n{Subject.ToString(false)}\n------- Expected -------\n[{string.Join(", ", values.Select(v => v.ToString()))}]", expected, nextval, i); |
|
|
|
} |
|
|
|
break; |
|
|
|
} |
|
|
|
% |
|
|
|
default: |
|
|
|
throw new NotSupportedException(); |
|
|
|
} |
|
|
|
#endregion |
|
|
|
#else |
|
|
|
|
|
|
|
#region Compute |
|
|
|
|
|
|
|
switch (Subject.dtype) |
|
|
|
{ |
|
|
|
case TF_DataType.TF_BOOL: |
|
|
|
{ |
|
|
|
var iter = Subject.AsIterator<bool>(); |
|
|
|
var hasnext = iter.HasNext; |
|
|
|
for (int i = 0; i < values.Length; i++) |
|
|
|
{ |
|
|
|
Execute.Assertion |
|
|
|
.ForCondition(hasnext()) |
|
|
|
.FailWith($"Expected the NDArray to have atleast {values.Length} but in fact it has size of {i}."); |
|
|
|
|
|
|
|
var expected = Convert.ToBoolean(values[i]); |
|
|
|
/*var nextval = iter.MoveNext(); |
|
|
|
|
|
|
|
Execute.Assertion |
|
|
|
.ForCondition(expected == nextval) |
|
|
|
.FailWith($"Expected NDArray's {{2}}th value to be {{0}}, but found {{1}} (dtype: Boolean).\n------- Subject -------\n{Subject}\n------- Expected -------\n[{string.Join(", ", values.Select(v => v.ToString()))}]", expected, nextval, i);*/ |
|
|
|
} |
|
|
|
|
|
|
|
break; |
|
|
|
} |
|
|
|
|
|
|
|
case TF_DataType.TF_INT8: |
|
|
|
{ |
|
|
|
var iter = Subject.AsIterator<byte>(); |
|
|
|
/*var next = iter.MoveNext; |
|
|
|
var hasnext = iter.HasNext; |
|
|
|
for (int i = 0; i < values.Length; i++) |
|
|
|
{ |
|
|
|
Execute.Assertion |
|
|
|
.ForCondition(hasnext()) |
|
|
|
.FailWith($"Expected the NDArray to have atleast {values.Length} but in fact it has size of {i}."); |
|
|
|
|
|
|
|
var expected = Convert.ToByte(values[i]); |
|
|
|
var nextval = next(); |
|
|
|
|
|
|
|
Execute.Assertion |
|
|
|
.ForCondition(expected == nextval) |
|
|
|
.FailWith($"Expected NDArray's {{2}}th value to be {{0}}, but found {{1}} (dtype: Byte).\n------- Subject -------\n{Subject.ToString(false)}\n------- Expected -------\n[{string.Join(", ", values.Select(v => v.ToString()))}]", expected, nextval, i); |
|
|
|
}*/ |
|
|
|
|
|
|
|
break; |
|
|
|
} |
|
|
|
|
|
|
|
case TF_DataType.TF_INT16: |
|
|
|
{ |
|
|
|
var iter = Subject.AsIterator<short>(); |
|
|
|
/*var next = iter.MoveNext; |
|
|
|
var hasnext = iter.HasNext; |
|
|
|
for (int i = 0; i < values.Length; i++) |
|
|
|
{ |
|
|
|
Execute.Assertion |
|
|
|
.ForCondition(hasnext()) |
|
|
|
.FailWith($"Expected the NDArray to have atleast {values.Length} but in fact it has size of {i}."); |
|
|
|
|
|
|
|
var expected = Convert.ToInt16(values[i]); |
|
|
|
var nextval = next(); |
|
|
|
|
|
|
|
Execute.Assertion |
|
|
|
.ForCondition(expected == nextval) |
|
|
|
.FailWith($"Expected NDArray's {{2}}th value to be {{0}}, but found {{1}} (dtype: Int16).\n------- Subject -------\n{Subject.ToString(false)}\n------- Expected -------\n[{string.Join(", ", values.Select(v => v.ToString()))}]", expected, nextval, i); |
|
|
|
}*/ |
|
|
|
|
|
|
|
break; |
|
|
|
} |
|
|
|
|
|
|
|
case TF_DataType.TF_UINT16: |
|
|
|
{ |
|
|
|
var iter = Subject.AsIterator<ushort>(); |
|
|
|
/*var next = iter.MoveNext; |
|
|
|
var hasnext = iter.HasNext; |
|
|
|
for (int i = 0; i < values.Length; i++) |
|
|
|
{ |
|
|
|
Execute.Assertion |
|
|
|
.ForCondition(hasnext()) |
|
|
|
.FailWith($"Expected the NDArray to have atleast {values.Length} but in fact it has size of {i}."); |
|
|
|
|
|
|
|
var expected = Convert.ToUInt16(values[i]); |
|
|
|
var nextval = next(); |
|
|
|
|
|
|
|
Execute.Assertion |
|
|
|
.ForCondition(expected == nextval) |
|
|
|
.FailWith($"Expected NDArray's {{2}}th value to be {{0}}, but found {{1}} (dtype: UInt16).\n------- Subject -------\n{Subject.ToString(false)}\n------- Expected -------\n[{string.Join(", ", values.Select(v => v.ToString()))}]", expected, nextval, i); |
|
|
|
}*/ |
|
|
|
|
|
|
|
break; |
|
|
|
} |
|
|
|
|
|
|
|
case TF_DataType.TF_INT32: |
|
|
|
{ |
|
|
|
var iter = Subject.AsIterator<int>(); |
|
|
|
/*var next = iter.MoveNext; |
|
|
|
var hasnext = iter.HasNext; |
|
|
|
for (int i = 0; i < values.Length; i++) |
|
|
|
{ |
|
|
|
Execute.Assertion |
|
|
|
.ForCondition(hasnext()) |
|
|
|
.FailWith($"Expected the NDArray to have atleast {values.Length} but in fact it has size of {i}."); |
|
|
|
|
|
|
|
var expected = Convert.ToInt32(values[i]); |
|
|
|
var nextval = next(); |
|
|
|
|
|
|
|
Execute.Assertion |
|
|
|
.ForCondition(expected == nextval) |
|
|
|
.FailWith($"Expected NDArray's {{2}}th value to be {{0}}, but found {{1}} (dtype: Int32).\n------- Subject -------\n{Subject.ToString(false)}\n------- Expected -------\n[{string.Join(", ", values.Select(v => v.ToString()))}]", expected, nextval, i); |
|
|
|
}*/ |
|
|
|
|
|
|
|
break; |
|
|
|
} |
|
|
|
|
|
|
|
case TF_DataType.TF_UINT32: |
|
|
|
{ |
|
|
|
var iter = Subject.AsIterator<uint>(); |
|
|
|
/*var next = iter.MoveNext; |
|
|
|
var hasnext = iter.HasNext; |
|
|
|
for (int i = 0; i < values.Length; i++) |
|
|
|
{ |
|
|
|
Execute.Assertion |
|
|
|
.ForCondition(hasnext()) |
|
|
|
.FailWith($"Expected the NDArray to have atleast {values.Length} but in fact it has size of {i}."); |
|
|
|
|
|
|
|
var expected = Convert.ToUInt32(values[i]); |
|
|
|
var nextval = next(); |
|
|
|
|
|
|
|
Execute.Assertion |
|
|
|
.ForCondition(expected == nextval) |
|
|
|
.FailWith($"Expected NDArray's {{2}}th value to be {{0}}, but found {{1}} (dtype: UInt32).\n------- Subject -------\n{Subject.ToString(false)}\n------- Expected -------\n[{string.Join(", ", values.Select(v => v.ToString()))}]", expected, nextval, i); |
|
|
|
}*/ |
|
|
|
|
|
|
|
break; |
|
|
|
} |
|
|
|
|
|
|
|
case TF_DataType.TF_INT64: |
|
|
|
{ |
|
|
|
var iter = Subject.AsIterator<long>(); |
|
|
|
/*var next = iter.MoveNext; |
|
|
|
var hasnext = iter.HasNext; |
|
|
|
for (int i = 0; i < values.Length; i++) |
|
|
|
{ |
|
|
|
Execute.Assertion |
|
|
|
.ForCondition(hasnext()) |
|
|
|
.FailWith($"Expected the NDArray to have atleast {values.Length} but in fact it has size of {i}."); |
|
|
|
|
|
|
|
var expected = Convert.ToInt64(values[i]); |
|
|
|
var nextval = next(); |
|
|
|
|
|
|
|
Execute.Assertion |
|
|
|
.ForCondition(expected == nextval) |
|
|
|
.FailWith($"Expected NDArray's {{2}}th value to be {{0}}, but found {{1}} (dtype: Int64).\n------- Subject -------\n{Subject.ToString(false)}\n------- Expected -------\n[{string.Join(", ", values.Select(v => v.ToString()))}]", expected, nextval, i); |
|
|
|
}*/ |
|
|
|
|
|
|
|
break; |
|
|
|
} |
|
|
|
|
|
|
|
case TF_DataType.TF_UINT64: |
|
|
|
{ |
|
|
|
var iter = Subject.AsIterator<ulong>(); |
|
|
|
/*var next = iter.MoveNext; |
|
|
|
var hasnext = iter.HasNext; |
|
|
|
for (int i = 0; i < values.Length; i++) |
|
|
|
{ |
|
|
|
Execute.Assertion |
|
|
|
.ForCondition(hasnext()) |
|
|
|
.FailWith($"Expected the NDArray to have atleast {values.Length} but in fact it has size of {i}."); |
|
|
|
|
|
|
|
var expected = Convert.ToUInt64(values[i]); |
|
|
|
var nextval = next(); |
|
|
|
|
|
|
|
Execute.Assertion |
|
|
|
.ForCondition(expected == nextval) |
|
|
|
.FailWith($"Expected NDArray's {{2}}th value to be {{0}}, but found {{1}} (dtype: UInt64).\n------- Subject -------\n{Subject.ToString(false)}\n------- Expected -------\n[{string.Join(", ", values.Select(v => v.ToString()))}]", expected, nextval, i); |
|
|
|
}*/ |
|
|
|
|
|
|
|
break; |
|
|
|
} |
|
|
|
|
|
|
|
case TF_DataType.TF_UINT8: |
|
|
|
{ |
|
|
|
var iter = Subject.AsIterator<char>(); |
|
|
|
/*var next = iter.MoveNext; |
|
|
|
var hasnext = iter.HasNext; |
|
|
|
for (int i = 0; i < values.Length; i++) |
|
|
|
{ |
|
|
|
Execute.Assertion |
|
|
|
.ForCondition(hasnext()) |
|
|
|
.FailWith($"Expected the NDArray to have atleast {values.Length} but in fact it has size of {i}."); |
|
|
|
|
|
|
|
var expected = Convert.ToChar(values[i]); |
|
|
|
var nextval = next(); |
|
|
|
|
|
|
|
Execute.Assertion |
|
|
|
.ForCondition(expected == nextval) |
|
|
|
.FailWith($"Expected NDArray's {{2}}th value to be {{0}}, but found {{1}} (dtype: Char).\n------- Subject -------\n{Subject.ToString(false)}\n------- Expected -------\n[{string.Join(", ", values.Select(v => v.ToString()))}]", expected, nextval, i); |
|
|
|
}*/ |
|
|
|
|
|
|
|
break; |
|
|
|
} |
|
|
|
|
|
|
|
case TF_DataType.TF_DOUBLE: |
|
|
|
{ |
|
|
|
var iter = Subject.AsIterator<double>(); |
|
|
|
/*var next = iter.MoveNext; |
|
|
|
var hasnext = iter.HasNext; |
|
|
|
for (int i = 0; i < values.Length; i++) |
|
|
|
{ |
|
|
|
Execute.Assertion |
|
|
|
.ForCondition(hasnext()) |
|
|
|
.FailWith($"Expected the NDArray to have atleast {values.Length} but in fact it has size of {i}."); |
|
|
|
|
|
|
|
var expected = Convert.ToDouble(values[i]); |
|
|
|
var nextval = next(); |
|
|
|
|
|
|
|
Execute.Assertion |
|
|
|
.ForCondition(expected == nextval) |
|
|
|
.FailWith($"Expected NDArray's {{2}}th value to be {{0}}, but found {{1}} (dtype: Double).\n------- Subject -------\n{Subject.ToString(false)}\n------- Expected -------\n[{string.Join(", ", values.Select(v => v.ToString()))}]", expected, nextval, i); |
|
|
|
}*/ |
|
|
|
|
|
|
|
break; |
|
|
|
} |
|
|
|
|
|
|
|
case TF_DataType.TF_FLOAT: |
|
|
|
{ |
|
|
|
var iter = Subject.AsIterator<float>(); |
|
|
|
/*var next = iter.MoveNext; |
|
|
|
var hasnext = iter.HasNext; |
|
|
|
for (int i = 0; i < values.Length; i++) |
|
|
|
{ |
|
|
|
Execute.Assertion |
|
|
|
.ForCondition(hasnext()) |
|
|
|
.FailWith($"Expected the NDArray to have atleast {values.Length} but in fact it has size of {i}."); |
|
|
|
|
|
|
|
var expected = Convert.ToSingle(values[i]); |
|
|
|
var nextval = next(); |
|
|
|
|
|
|
|
Execute.Assertion |
|
|
|
.ForCondition(expected == nextval) |
|
|
|
.FailWith($"Expected NDArray's {{2}}th value to be {{0}}, but found {{1}} (dtype: Single).\n------- Subject -------\n{Subject.ToString(false)}\n------- Expected -------\n[{string.Join(", ", values.Select(v => v.ToString()))}]", expected, nextval, i); |
|
|
|
}*/ |
|
|
|
|
|
|
|
break; |
|
|
|
} |
|
|
|
default: |
|
|
|
throw new NotSupportedException(); |
|
|
|
} |
|
|
|
|
|
|
|
#endregion |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
return new AndConstraint<NDArrayAssertions>(this); |
|
|
|
} |
|
|
|
|
|
|
|
public AndConstraint<NDArrayAssertions> AllValuesBe(object val) |
|
|
|
{ |
|
|
|
|
|
|
|
|