Calculation.php 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <?php
  2. function calculationTestDataGenerator(): array
  3. {
  4. $dataArray1 = [
  5. ['please +', 'please *', 'increment'],
  6. [1, 1, 1], // sum is 3
  7. [3, 3, 3], // product is 27
  8. ];
  9. $set0 = [3, $dataArray1, '=IF(A1="please +", SUM(A2:C2), 2)', 'E5'];
  10. $set1 = [3, $dataArray1, '=IF(TRUE(), SUM(A2:C2), 2)', 'E5'];
  11. $formula1 = '=IF(A1="please +",SUM(A2:C2),7 + IF(B1="please *", 4, 2))';
  12. $set2 = [3, $dataArray1, $formula1, 'E5'];
  13. $dataArray1[0][0] = 'not please + something else';
  14. $set3 = [11, $dataArray1, $formula1, 'E5'];
  15. $dataArray2 = [
  16. ['flag1', 'flag2', 'flag3', 'flag1'],
  17. [1, 2, 3, 4],
  18. [5, 6, 7, 8],
  19. ];
  20. $set4 = [3, $dataArray2, '=IF($A$1=$B$1,A2,IF($A$1=$C$1,B2,IF($A$1=$D$1,C2,C3)))', 'E5'];
  21. $dataArray2[0][0] = 'flag3';
  22. $set5 = [2, $dataArray2, '=IF(A1=B1,A2,IF(A1=C1,B2,IF(A1=D1,C2,C3)))', 'E5'];
  23. $dataArray3 = [
  24. [1, 2, 3],
  25. [4, 5, 6],
  26. [7, 8, 9],
  27. ];
  28. $set6 = [0, $dataArray3, '=IF(A1+B1>3,C1,0)', 'E5'];
  29. $dataArray4 = [
  30. ['noflag', 0, 0],
  31. [127000, 0, 0],
  32. [10000, 0.03, 0],
  33. [20000, 0.06, 0],
  34. [40000, 0.09, 0],
  35. [70000, 0.12, 0],
  36. [90000, 0.03, 0],
  37. ];
  38. $formula2 = '=IF(A1="flag",IF(A2<10, 0) + IF(A3<10000, 0))';
  39. $set7 = [false, $dataArray4, $formula2, 'E5'];
  40. $dataArray5 = [
  41. [1, 2],
  42. [3, 4],
  43. ['=A1+A2', '=SUM(B1:B2)'],
  44. ['take A', 0],
  45. ];
  46. $formula3 = '=IF(A4="take A", A3, B3)';
  47. $set8 = [4, $dataArray5, $formula3, 'E5', ['A3'], ['B3']];
  48. $dataArray6 = [
  49. ['=IF(22,"a","b")'],
  50. ];
  51. $set9 = ['a', $dataArray6, '=A1', 'A2'];
  52. return [
  53. $set0, $set1, $set2, $set3, $set4, $set5, $set6, $set7, $set8, $set9,
  54. ];
  55. }
  56. return calculationTestDataGenerator();