Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function run_my_code() {}
- var ea = $("#example_anchor");
- $.ajax({
- url: "/swdevel/json/",
- data: JSON.stringify({id: 1, method: "init_test", params: {}}),
- type: 'POST',
- success: function(result) {
- var data = result.result;
- console.log('data', data);
- if (typeof data !== 'array' || data.length != 1981) {
- ea.append($("<div>Error: Step 1: List is not 1981 long</div>"));
- }
- for (var i = 0, l = data.length; i < l; i++) {
- if (typeof data[i] !== 'number') {
- ea.append($("<div>Error: Step 1: List contains non-numbers</div>"));
- break;
- }
- }
- var prevNum = data[0];
- for (var i = 1, l = data.length; i < l; i++) {
- if (data[i] < prevNum) {
- ea.append($("<div>Error: Step 1: List is not sorted in ascending order</div>"));
- break;
- } else {
- prevNum = data[i];
- }
- }
- var sum = 0;
- for (var i = 0, l = data.length; i < l; i++) {
- sum += data[i];
- }
- var average = sum/data.length;
- $.ajax({
- url: "/swdevel/json/",
- data: JSON.stringify({id: 2, method: "sequence_boundaries", params: {}}),
- type: 'POST',
- success: function(result) {
- var sineWave = result.result;
- if (typeof sineWave !== 'object') {
- ea.append($("<div>Error: Step 2: It's not a dictionary</div>"));
- }
- if (typeof sineWave !== 'object' || typeof sineWave.amplitude !== 'number' || typeof sineWave.phase !== 'number') {
- ea.append($("<div>Error: Step 2: Doesn't contain amplitude and phase shift</div>"));
- }
- if (typeof sineWave !== 'object' || sineWave.phase != 90) {
- ea.append($("<div>Error: Step 2: Phase is not half a wavelength</div>"));
- }
- $.ajax({
- url: "/swdevel/json/",
- data: JSON.stringify({id: 3, method: "fetch_waveform", params: {
- 'frequency': average,
- 'amplitude': sineWave.amplitude,
- 'phase': sineWave.phase
- }}),
- type: 'POST',
- success: function(result) {
- var array = result.result;
- if (typeof array !== 'array') {
- ea.append($("<div>Error: Step 3: Data is not an array</div>"));
- }
- var max = 0;
- for (var i = 0, l = array.length; i < l; i++) {
- if (array[i] > max) {
- max = array[i];
- }
- }
- if (max != sineWave.amplitude) {
- ea.append($("<div>Error: Step 3: Sineway has incorrect amplitude</div>"));
- }
- if (array[0] != 0) {
- ea.append($("<div>Error: Step 3: Sineway value at x=0 should be 0</div>"));
- }
- $.ajax({
- url: "/swdevel/json/",
- data: JSON.stringify({id: 4, method: "shift_waveform", params: {
- 'data': array
- }}),
- type: 'POST',
- success: function(result) {
- var shiftedWaveform = result.result;
- if (typeof shiftedWaveform !== 'array') {
- ea.append($("<div>Error: Step 4: Result is not an array</div>"));
- }
- if (shiftedWaveform.length !== array.length) {
- ea.append($("<div>Error: Step 4: Result is not the same waveform</div>"));
- }
- var shiftedMax = 0;
- for (var i = 0, i < shiftedWaveform.length; i < l; i++) {
- if (shiftedMax < shiftedWaveform[i]) {
- shiftedMax = shiftedWaveform[i];
- }
- }
- if (Math.round(shiftedMax*1000)/1000 != Math.round(max * 0.7 * 1000)/1000) {
- ea.append($("<div>Error: Step 4: Resulted waveform does not have amplitude reduced by 30%</div>"));
- }
- for (var i = 0, l = array.length; i < l; i++) {
- if (array[i] == 0) {
- if (Math.round(Math.abs(shiftedWaveform[i])*1000)/1000 != Math.round(shiftedMax*Math.sin(45)*1000)/1000) {
- ea.append($("<div>Error: Step 4: Resulted waveform is not have shifted by 45%</div>"));
- }
- }
- }
- },
- error: function(result) {
- console.log("The ajax call failed");
- }
- });
- },
- error: function(result) {
- console.log("The ajax call failed");
- }
- });
- },
- error: function(result) {
- console.log("The ajax call failed");
- }
- });
- },
- error: function(result) {
- console.log("The ajax call failed");
- }
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement