public void CanUse_GoodTargetOnly_ReturnTrue() { // arrange var target = new DataAndLayout <int>(new int[10], new FastAccess(new Layout(new int[] { 10 }, 0, new int[] { 1 }))); // action var canUse = VectorOps.CanUse(target); // assert Assert.IsTrue(canUse); }
public void CanUse_ScalarTarget_ReturnFalse() { // arrange var target = new DataAndLayout <int>(new int[1], new FastAccess(new Layout(new int[] { }, 0, new int[] { }))); // action var canUse = VectorOps.CanUse(target); // assert Assert.IsFalse(canUse); }
public void CanUse_TargetIsNotContinuous_ReturnFalse() { // arrange const int NotContinuousStride = 2; var target = new DataAndLayout <int>(new int[20], new FastAccess(new Layout(new int[] { 10 }, 0, new int[] { NotContinuousStride }))); // action var canUse = VectorOps.CanUse(target); // assert Assert.IsFalse(canUse); }
public void CanUse_UnSupportedType_ReturnFalse() { // arrange var data = new UnSupportedTypeForUnitTestOnly[1]; var target = new DataAndLayout <UnSupportedTypeForUnitTestOnly>(data, new FastAccess(new Layout(new int[] { }, 0, new int[] { }))); // action var canUse = VectorOps.CanUse(target); // assert Assert.IsFalse(canUse); }
public void CanUse_CanUseBothSrc1AndSrc2_ReturnTrue() { // arrange var target = new DataAndLayout <int>(new int[10], new FastAccess(new Layout(new int[] { 10 }, 0, new int[] { 1 }))); var src1 = new DataAndLayout <int>(new int[10], new FastAccess(new Layout(new int[] { 10 }, 0, new int[] { 1 }))); var src2 = new DataAndLayout <int>(new int[10], new FastAccess(new Layout(new int[] { 10 }, 0, new int[] { 1 }))); // action var canUse = VectorOps.CanUse(target, src1, src2); // assert Assert.IsTrue(canUse); }
public void CanUse_CanNotUseSrc1Only_ReturnFalse() { // arrange var target = new DataAndLayout <int>(new int[10], new FastAccess(new Layout(new int[] { 10 }, 0, new int[] { 1 }))); var src2 = new DataAndLayout <int>(new int[10], new FastAccess(new Layout(new int[] { 10 }, 0, new int[] { 1 }))); const int NotContinuousStride = 2; var src1 = new DataAndLayout <int>(new int[20], new FastAccess(new Layout(new int[] { 10 }, 0, new int[] { NotContinuousStride }))); // action var canUse = VectorOps.CanUse(target, src1, src2); // assert Assert.IsFalse(canUse); }